From f297190bd896757828bd889aa7bba09e6607ca87 Mon Sep 17 00:00:00 2001 From: jos Date: Mon, 27 Jul 2015 14:22:55 +0200 Subject: [PATCH] Updated to v4.7.0 --- dist/vis.js | 3985 +++++++++-------- dist/vis.map | 2 +- dist/vis.min.js | 40 +- docs/network/edges.html | 10 +- docs/network/index.html | 10 +- download/vis.zip | Bin 2806117 -> 2801872 bytes examples/network/edgeStyles/smooth.html | 56 +- .../layout/hierarchicalLayoutUserdefined.html | 6 +- .../network/nodeStyles/circularImages.html | 6 +- examples/timeline/other/timezone.html | 80 + graph3d_examples.html | 6 + images/exampleScreenshots/graph3d/12.png | Bin 0 -> 26626 bytes .../timeline/other/timezone.png | Bin 0 -> 4286 bytes index.html | 10 +- timeline_examples.html | 1 + 15 files changed, 2366 insertions(+), 1846 deletions(-) create mode 100644 examples/timeline/other/timezone.html create mode 100644 images/exampleScreenshots/graph3d/12.png create mode 100644 images/exampleScreenshots/timeline/other/timezone.png diff --git a/dist/vis.js b/dist/vis.js index 9ada4b70..44272e7f 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.6.0 - * @date 2015-07-22 + * @version 4.7.0 + * @date 2015-07-27 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -139,10 +139,10 @@ return /******/ (function(modules) { // webpackBootstrap // Network exports.Network = __webpack_require__(59); exports.network = { - Images: __webpack_require__(112), - dotparser: __webpack_require__(110), - gephiParser: __webpack_require__(111), - allOptions: __webpack_require__(108) + Images: __webpack_require__(114), + dotparser: __webpack_require__(112), + gephiParser: __webpack_require__(113), + allOptions: __webpack_require__(110) }; exports.network.convertDot = function (input) { return exports.network.dotparser.DOTToGraph(input); @@ -493,23 +493,17 @@ return /******/ (function(modules) { // webpackBootstrap /** * Repaint the item */ - Item.prototype.redraw = function () { - // should be implemented by the item - }; + Item.prototype.redraw = function () {}; /** * Reposition the Item horizontally */ - Item.prototype.repositionX = function () { - // should be implemented by the item - }; + Item.prototype.repositionX = function () {}; /** * Reposition the Item vertically */ - Item.prototype.repositionY = function () { - // should be implemented by the item - }; + Item.prototype.repositionY = function () {}; /** * Repaint a delete button on the top right of the item when the item is selected @@ -668,6 +662,12 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Item; + // should be implemented by the item + + // should be implemented by the item + + // should be implemented by the item + /***/ }, /* 3 */ /***/ function(module, exports, __webpack_require__) { @@ -3781,11 +3781,11 @@ return /******/ (function(modules) { // webpackBootstrap // object is an ASP date return new Date(Number(match[1])); // parse number } else { - return moment(object).toDate(); // parse string - } - } else { - throw new Error('Cannot convert object of type ' + exports.getType(object) + ' to type Date'); + return moment(object).toDate(); // parse string } + } else { + throw new Error('Cannot convert object of type ' + exports.getType(object) + ' to type Date'); + } case 'Moment': if (exports.isNumber(object)) { @@ -3802,11 +3802,11 @@ return /******/ (function(modules) { // webpackBootstrap // object is an ASP date return moment(Number(match[1])); // parse number } else { - return moment(object); // parse string - } - } else { - throw new Error('Cannot convert object of type ' + exports.getType(object) + ' to type Date'); + return moment(object); // parse string } + } else { + throw new Error('Cannot convert object of type ' + exports.getType(object) + ' to type Date'); + } case 'ISODate': if (exports.isNumber(object)) { @@ -3821,11 +3821,11 @@ return /******/ (function(modules) { // webpackBootstrap // object is an ASP date return new Date(Number(match[1])).toISOString(); // parse number } else { - return new Date(object).toISOString(); // parse string - } - } else { - throw new Error('Cannot convert object of type ' + exports.getType(object) + ' to type ISODate'); + return new Date(object).toISOString(); // parse string } + } else { + throw new Error('Cannot convert object of type ' + exports.getType(object) + ' to type ISODate'); + } case 'ASPDate': if (exports.isNumber(object)) { @@ -3839,8 +3839,8 @@ return /******/ (function(modules) { // webpackBootstrap // object is an ASP date value = new Date(Number(match[1])).valueOf(); // parse number } else { - value = new Date(object).valueOf(); // parse string - } + value = new Date(object).valueOf(); // parse string + } return '/Date(' + value + ')/'; } else { throw new Error('Cannot convert object of type ' + exports.getType(object) + ' to type ASPDate'); @@ -4045,13 +4045,13 @@ return /******/ (function(modules) { // webpackBootstrap if (element.addEventListener) { if (useCapture === undefined) useCapture = false; - if (action === "mousewheel" && navigator.userAgent.indexOf("Firefox") >= 0) { - action = "DOMMouseScroll"; // For Firefox + if (action === 'mousewheel' && navigator.userAgent.indexOf('Firefox') >= 0) { + action = 'DOMMouseScroll'; // For Firefox } element.addEventListener(action, listener, useCapture); } else { - element.attachEvent("on" + action, listener); // IE browsers + element.attachEvent('on' + action, listener); // IE browsers } }; @@ -4067,14 +4067,14 @@ return /******/ (function(modules) { // webpackBootstrap // non-IE browsers if (useCapture === undefined) useCapture = false; - if (action === "mousewheel" && navigator.userAgent.indexOf("Firefox") >= 0) { - action = "DOMMouseScroll"; // For Firefox + if (action === 'mousewheel' && navigator.userAgent.indexOf('Firefox') >= 0) { + action = 'DOMMouseScroll'; // For Firefox } element.removeEventListener(action, listener, useCapture); } else { // IE browsers - element.detachEvent("on" + action, listener); + element.detachEvent('on' + action, listener); } }; @@ -4087,8 +4087,8 @@ return /******/ (function(modules) { // webpackBootstrap if (event.preventDefault) { event.preventDefault(); // non-IE browsers } else { - event.returnValue = false; // IE browsers - } + event.returnValue = false; // IE browsers + } }; /** @@ -4253,17 +4253,17 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} */ exports.overrideOpacity = function (color, opacity) { - if (color.indexOf("rgba") != -1) { + if (color.indexOf('rgba') != -1) { return color; - } else if (color.indexOf("rgb") != -1) { - var rgb = color.substr(color.indexOf("(") + 1).replace(")", "").split(","); - return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + opacity + ")"; + } else if (color.indexOf('rgb') != -1) { + var rgb = color.substr(color.indexOf('(') + 1).replace(')', '').split(','); + return 'rgba(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ',' + opacity + ')'; } else { var rgb = exports.hexToRGB(color); if (rgb == null) { return color; } else { - return "rgba(" + rgb.r + "," + rgb.g + "," + rgb.b + "," + opacity + ")"; + return 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + opacity + ')'; } } }; @@ -4277,7 +4277,7 @@ return /******/ (function(modules) { // webpackBootstrap * @constructor */ exports.RGBToHex = function (red, green, blue) { - return "#" + ((1 << 24) + (red << 16) + (green << 8) + blue).toString(16).slice(1); + return '#' + ((1 << 24) + (red << 16) + (green << 8) + blue).toString(16).slice(1); }; /** @@ -4493,12 +4493,12 @@ return /******/ (function(modules) { // webpackBootstrap }; exports.isValidRGB = function (rgb) { - rgb = rgb.replace(" ", ""); + rgb = rgb.replace(' ', ''); var isOk = /rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(rgb); return isOk; }; exports.isValidRGBA = function (rgba) { - rgba = rgba.replace(" ", ""); + rgba = rgba.replace(' ', ''); var isOk = /rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(rgba); return isOk; }; @@ -4511,11 +4511,11 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} */ exports.selectiveBridgeObject = function (fields, referenceObject) { - if (typeof referenceObject == "object") { + if (typeof referenceObject == 'object') { var objectTo = Object.create(referenceObject); for (var i = 0; i < fields.length; i++) { if (referenceObject.hasOwnProperty(fields[i])) { - if (typeof referenceObject[fields[i]] == "object") { + if (typeof referenceObject[fields[i]] == 'object') { objectTo[fields[i]] = exports.bridgeObject(referenceObject[fields[i]]); } } @@ -4534,11 +4534,11 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} */ exports.bridgeObject = function (referenceObject) { - if (typeof referenceObject == "object") { + if (typeof referenceObject == 'object') { var objectTo = Object.create(referenceObject); for (var i in referenceObject) { if (referenceObject.hasOwnProperty(i)) { - if (typeof referenceObject[i] == "object") { + if (typeof referenceObject[i] == 'object') { objectTo[i] = exports.bridgeObject(referenceObject[i]); } } @@ -4750,13 +4750,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {//! moment.js - //! version : 2.10.3 + //! version : 2.10.5 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com (function (global, factory) { - true ? module.exports = factory() : + true ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.moment = factory() }(this, function () { 'use strict'; @@ -4845,6 +4845,7 @@ return /******/ (function(modules) { // webpackBootstrap flags.overflow < 0 && !flags.empty && !flags.invalidMonth && + !flags.invalidWeekday && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated; @@ -4925,7 +4926,7 @@ return /******/ (function(modules) { // webpackBootstrap // Moment prototype object function Moment(config) { copyConfig(this, config); - this._d = new Date(+config._d); + this._d = new Date(config._d.getTime()); // Prevent infinite loop in case updateOffset creates new moment // objects. if (updateInProgress === false) { @@ -4939,16 +4940,20 @@ return /******/ (function(modules) { // webpackBootstrap return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); } + function absFloor (number) { + if (number < 0) { + return Math.ceil(number); + } else { + return Math.floor(number); + } + } + function toInt(argumentForCoercion) { var coercedNumber = +argumentForCoercion, value = 0; if (coercedNumber !== 0 && isFinite(coercedNumber)) { - if (coercedNumber >= 0) { - value = Math.floor(coercedNumber); - } else { - value = Math.ceil(coercedNumber); - } + value = absFloor(coercedNumber); } return value; @@ -5046,9 +5051,7 @@ return /******/ (function(modules) { // webpackBootstrap function defineLocale (name, values) { if (values !== null) { values.abbr = name; - if (!locales[name]) { - locales[name] = new Locale(); - } + locales[name] = locales[name] || new Locale(); locales[name].set(values); // backwards compat for now: also set the locale @@ -5152,16 +5155,14 @@ return /******/ (function(modules) { // webpackBootstrap } function zeroFill(number, targetLength, forceSign) { - var output = '' + Math.abs(number), + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, sign = number >= 0; - - while (output.length < targetLength) { - output = '0' + output; - } - return (sign ? (forceSign ? '+' : '') : '-') + output; + return (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; } - var formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g; + var formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; @@ -5229,10 +5230,7 @@ return /******/ (function(modules) { // webpackBootstrap } format = expandFormat(format, m.localeData()); - - if (!formatFunctions[format]) { - formatFunctions[format] = makeFormatFunction(format); - } + formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); return formatFunctions[format](m); } @@ -5276,8 +5274,15 @@ return /******/ (function(modules) { // webpackBootstrap var regexes = {}; + function isFunction (sth) { + // https://github.com/moment/moment/issues/2325 + return typeof sth === 'function' && + Object.prototype.toString.call(sth) === '[object Function]'; + } + + function addRegexToken (token, regex, strictRegex) { - regexes[token] = typeof regex === 'function' ? regex : function (isStrict) { + regexes[token] = isFunction(regex) ? regex : function (isStrict) { return (isStrict && strictRegex) ? strictRegex : regex; }; } @@ -5485,12 +5490,11 @@ return /******/ (function(modules) { // webpackBootstrap } function deprecate(msg, fn) { - var firstTime = true, - msgWithStack = msg + '\n' + (new Error()).stack; + var firstTime = true; return extend(function () { if (firstTime) { - warn(msgWithStack); + warn(msg + '\n' + (new Error()).stack); firstTime = false; } return fn.apply(this, arguments); @@ -5538,14 +5542,14 @@ return /******/ (function(modules) { // webpackBootstrap getParsingFlags(config).iso = true; for (i = 0, l = isoDates.length; i < l; i++) { if (isoDates[i][1].exec(string)) { - // match[5] should be 'T' or undefined - config._f = isoDates[i][0] + (match[6] || ' '); + config._f = isoDates[i][0]; break; } } for (i = 0, l = isoTimes.length; i < l; i++) { if (isoTimes[i][1].exec(string)) { - config._f += isoTimes[i][0]; + // match[6] should be 'T' or space + config._f += (match[6] || ' ') + isoTimes[i][0]; break; } } @@ -5624,7 +5628,10 @@ return /******/ (function(modules) { // webpackBootstrap addRegexToken('YYYYY', match1to6, match6); addRegexToken('YYYYYY', match1to6, match6); - addParseToken(['YYYY', 'YYYYY', 'YYYYYY'], YEAR); + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = input.length === 2 ? utils_hooks__hooks.parseTwoDigitYear(input) : toInt(input); + }); addParseToken('YY', function (input, array) { array[YEAR] = utils_hooks__hooks.parseTwoDigitYear(input); }); @@ -5751,18 +5758,18 @@ return /******/ (function(modules) { // webpackBootstrap //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) { - var d = createUTCDate(year, 0, 1).getUTCDay(); - var daysToAdd; - var dayOfYear; + var week1Jan = 6 + firstDayOfWeek - firstDayOfWeekOfYear, janX = createUTCDate(year, 0, 1 + week1Jan), d = janX.getUTCDay(), dayOfYear; + if (d < firstDayOfWeek) { + d += 7; + } - d = d === 0 ? 7 : d; - weekday = weekday != null ? weekday : firstDayOfWeek; - daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0); - dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1; + weekday = weekday != null ? 1 * weekday : firstDayOfWeek; + + dayOfYear = 1 + week1Jan + 7 * (week - 1) - d + weekday; return { - year : dayOfYear > 0 ? year : year - 1, - dayOfYear : dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear + year: dayOfYear > 0 ? year : year - 1, + dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear }; } @@ -6048,9 +6055,19 @@ return /******/ (function(modules) { // webpackBootstrap } function createFromConfig (config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig (config) { var input = config._i, - format = config._f, - res; + format = config._f; config._locale = config._locale || locale_locales__getLocale(config._l); @@ -6074,14 +6091,7 @@ return /******/ (function(modules) { // webpackBootstrap configFromInput(config); } - res = new Moment(checkOverflow(config)); - if (res._nextDay) { - // Adding is smart enough around DST - res.add(1, 'd'); - res._nextDay = undefined; - } - - return res; + return config; } function configFromInput(config) { @@ -6161,7 +6171,7 @@ return /******/ (function(modules) { // webpackBootstrap } res = moments[0]; for (i = 1; i < moments.length; ++i) { - if (moments[i][fn](res)) { + if (!moments[i].isValid() || moments[i][fn](res)) { res = moments[i]; } } @@ -6273,7 +6283,6 @@ return /******/ (function(modules) { // webpackBootstrap } else { return local__createLocal(input).local(); } - return model._isUTC ? local__createLocal(input).zone(model._offset || 0) : local__createLocal(input).local(); } function getDateOffset (m) { @@ -6373,12 +6382,7 @@ return /******/ (function(modules) { // webpackBootstrap } function hasAlignedHourOffset (input) { - if (!input) { - input = 0; - } - else { - input = local__createLocal(input).utcOffset(); - } + input = input ? local__createLocal(input).utcOffset() : 0; return (this.utcOffset() - input) % 60 === 0; } @@ -6391,12 +6395,24 @@ return /******/ (function(modules) { // webpackBootstrap } function isDaylightSavingTimeShifted () { - if (this._a) { - var other = this._isUTC ? create_utc__createUTC(this._a) : local__createLocal(this._a); - return this.isValid() && compareArrays(this._a, other.toArray()) > 0; + if (typeof this._isDSTShifted !== 'undefined') { + return this._isDSTShifted; } - return false; + var c = {}; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + var other = c._isUTC ? create_utc__createUTC(c._a) : local__createLocal(c._a); + this._isDSTShifted = this.isValid() && + compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; } function isLocal () { @@ -6556,7 +6572,7 @@ return /******/ (function(modules) { // webpackBootstrap var add_subtract__add = createAdder(1, 'add'); var add_subtract__subtract = createAdder(-1, 'subtract'); - function moment_calendar__calendar (time) { + function moment_calendar__calendar (time, formats) { // We want to compare the start of today, vs this. // Getting start-of-today depends on whether we're local/utc/offset or not. var now = time || local__createLocal(), @@ -6568,7 +6584,7 @@ return /******/ (function(modules) { // webpackBootstrap diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse'; - return this.format(this.localeData().calendar(format, this, local__createLocal(now))); + return this.format(formats && formats[format] || this.localeData().calendar(format, this, local__createLocal(now))); } function clone () { @@ -6615,14 +6631,6 @@ return /******/ (function(modules) { // webpackBootstrap } } - function absFloor (number) { - if (number < 0) { - return Math.ceil(number); - } else { - return Math.floor(number); - } - } - function diff (input, units, asFloat) { var that = cloneWithOffset(input, this), zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4, @@ -6813,6 +6821,19 @@ return /******/ (function(modules) { // webpackBootstrap return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; } + function toObject () { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds() + }; + } + function moment_valid__isValid () { return valid__isValid(this); } @@ -6984,18 +7005,20 @@ return /******/ (function(modules) { // webpackBootstrap // HELPERS function parseWeekday(input, locale) { - if (typeof input === 'string') { - if (!isNaN(input)) { - input = parseInt(input, 10); - } - else { - input = locale.weekdaysParse(input); - if (typeof input !== 'number') { - return null; - } - } + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; } - return input; + + return null; } // LOCALES @@ -7018,9 +7041,7 @@ return /******/ (function(modules) { // webpackBootstrap function localeWeekdaysParse (weekdayName) { var i, mom, regex; - if (!this._weekdaysParse) { - this._weekdaysParse = []; - } + this._weekdaysParse = this._weekdaysParse || []; for (i = 0; i < 7; i++) { // make the regex if we don't have it already @@ -7167,12 +7188,26 @@ return /******/ (function(modules) { // webpackBootstrap return ~~(this.millisecond() / 10); }); - function millisecond__milliseconds (token) { - addFormatToken(0, [token, 3], 0, 'millisecond'); - } + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); - millisecond__milliseconds('SSS'); - millisecond__milliseconds('SSSS'); // ALIASES @@ -7183,11 +7218,19 @@ return /******/ (function(modules) { // webpackBootstrap addRegexToken('S', match1to3, match1); addRegexToken('SS', match1to3, match2); addRegexToken('SSS', match1to3, match3); - addRegexToken('SSSS', matchUnsigned); - addParseToken(['S', 'SS', 'SSS', 'SSSS'], function (input, array) { + + var token; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { array[MILLISECOND] = toInt(('0.' + input) * 1000); - }); + } + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } // MOMENTS var getSetMillisecond = makeGetSet('Milliseconds', false); @@ -7234,6 +7277,7 @@ return /******/ (function(modules) { // webpackBootstrap momentPrototype__proto.startOf = startOf; momentPrototype__proto.subtract = add_subtract__subtract; momentPrototype__proto.toArray = toArray; + momentPrototype__proto.toObject = toObject; momentPrototype__proto.toDate = toDate; momentPrototype__proto.toISOString = moment_format__toISOString; momentPrototype__proto.toJSON = moment_format__toISOString; @@ -7333,19 +7377,23 @@ return /******/ (function(modules) { // webpackBootstrap LT : 'h:mm A', L : 'MM/DD/YYYY', LL : 'MMMM D, YYYY', - LLL : 'MMMM D, YYYY LT', - LLLL : 'dddd, MMMM D, YYYY LT' + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' }; function longDateFormat (key) { - var output = this._longDateFormat[key]; - if (!output && this._longDateFormat[key.toUpperCase()]) { - output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) { - return val.slice(1); - }); - this._longDateFormat[key] = output; + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; } - return output; + + this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + + return this._longDateFormat[key]; } var defaultInvalidDate = 'Invalid date'; @@ -7554,12 +7602,29 @@ return /******/ (function(modules) { // webpackBootstrap return duration_add_subtract__addSubtract(this, input, value, -1); } + function absCeil (number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + function bubble () { var milliseconds = this._milliseconds; var days = this._days; var months = this._months; var data = this._data; - var seconds, minutes, hours, years = 0; + var seconds, minutes, hours, years, monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if (!((milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0))) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } // The following code bubbles up values, see the tests for // examples of what that means. @@ -7576,17 +7641,13 @@ return /******/ (function(modules) { // webpackBootstrap days += absFloor(hours / 24); - // Accurately convert days to years, assume start from year 0. - years = absFloor(daysToYears(days)); - days -= absFloor(yearsToDays(years)); - - // 30 days to a month - // TODO (iskren): Use anchor date (like 1st Jan) to compute this. - months += absFloor(days / 30); - days %= 30; + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); // 12 months -> 1 year - years += absFloor(months / 12); + years = absFloor(months / 12); months %= 12; data.days = days; @@ -7596,15 +7657,15 @@ return /******/ (function(modules) { // webpackBootstrap return this; } - function daysToYears (days) { + function daysToMonths (days) { // 400 years have 146097 days (taking into account leap year rules) - return days * 400 / 146097; + // 400 years have 12 months === 4800 + return days * 4800 / 146097; } - function yearsToDays (years) { - // years * 365 + absFloor(years / 4) - - // absFloor(years / 100) + absFloor(years / 400); - return years * 146097 / 400; + function monthsToDays (months) { + // the reverse of daysToMonths + return months * 146097 / 4800; } function as (units) { @@ -7616,11 +7677,11 @@ return /******/ (function(modules) { // webpackBootstrap if (units === 'month' || units === 'year') { days = this._days + milliseconds / 864e5; - months = this._months + daysToYears(days) * 12; + months = this._months + daysToMonths(days); return units === 'month' ? months : months / 12; } else { // handle milliseconds separately because of floating point math errors (issue #1867) - days = this._days + Math.round(yearsToDays(this._months / 12)); + days = this._days + Math.round(monthsToDays(this._months)); switch (units) { case 'week' : return days / 7 + milliseconds / 6048e5; case 'day' : return days + milliseconds / 864e5; @@ -7670,7 +7731,7 @@ return /******/ (function(modules) { // webpackBootstrap }; } - var duration_get__milliseconds = makeGetter('milliseconds'); + var milliseconds = makeGetter('milliseconds'); var seconds = makeGetter('seconds'); var minutes = makeGetter('minutes'); var hours = makeGetter('hours'); @@ -7748,13 +7809,36 @@ return /******/ (function(modules) { // webpackBootstrap var iso_string__abs = Math.abs; function iso_string__toISOString() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + var seconds = iso_string__abs(this._milliseconds) / 1000; + var days = iso_string__abs(this._days); + var months = iso_string__abs(this._months); + var minutes, hours, years; + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js - var Y = iso_string__abs(this.years()); - var M = iso_string__abs(this.months()); - var D = iso_string__abs(this.days()); - var h = iso_string__abs(this.hours()); - var m = iso_string__abs(this.minutes()); - var s = iso_string__abs(this.seconds() + this.milliseconds() / 1000); + var Y = years; + var M = months; + var D = days; + var h = hours; + var m = minutes; + var s = seconds; var total = this.asSeconds(); if (!total) { @@ -7791,7 +7875,7 @@ return /******/ (function(modules) { // webpackBootstrap duration_prototype__proto.valueOf = duration_as__valueOf; duration_prototype__proto._bubble = bubble; duration_prototype__proto.get = duration_get__get; - duration_prototype__proto.milliseconds = duration_get__milliseconds; + duration_prototype__proto.milliseconds = milliseconds; duration_prototype__proto.seconds = seconds; duration_prototype__proto.minutes = minutes; duration_prototype__proto.hours = hours; @@ -7829,7 +7913,7 @@ return /******/ (function(modules) { // webpackBootstrap // Side effect imports - utils_hooks__hooks.version = '2.10.3'; + utils_hooks__hooks.version = '2.10.5'; setHookCallback(local__createLocal); @@ -8244,21 +8328,21 @@ return /******/ (function(modules) { // webpackBootstrap var point; if (groupTemplate.style == 'circle') { point = exports.getSVGElement('circle', JSONcontainer, svgContainer); - point.setAttributeNS(null, "cx", x); - point.setAttributeNS(null, "cy", y); - point.setAttributeNS(null, "r", 0.5 * groupTemplate.size); + point.setAttributeNS(null, 'cx', x); + point.setAttributeNS(null, 'cy', y); + point.setAttributeNS(null, 'r', 0.5 * groupTemplate.size); } else { point = exports.getSVGElement('rect', JSONcontainer, svgContainer); - point.setAttributeNS(null, "x", x - 0.5 * groupTemplate.size); - point.setAttributeNS(null, "y", y - 0.5 * groupTemplate.size); - point.setAttributeNS(null, "width", groupTemplate.size); - point.setAttributeNS(null, "height", groupTemplate.size); + point.setAttributeNS(null, 'x', x - 0.5 * groupTemplate.size); + point.setAttributeNS(null, 'y', y - 0.5 * groupTemplate.size); + point.setAttributeNS(null, 'width', groupTemplate.size); + point.setAttributeNS(null, 'height', groupTemplate.size); } if (groupTemplate.style !== undefined) { - point.setAttributeNS(null, "style", groupTemplate.style); + point.setAttributeNS(null, 'style', groupTemplate.style); } - point.setAttributeNS(null, "class", groupTemplate.className + " vis-point"); + point.setAttributeNS(null, 'class', groupTemplate.className + ' vis-point'); //handle label if (labelObj) { @@ -8275,10 +8359,10 @@ return /******/ (function(modules) { // webpackBootstrap } if (labelObj.className) { - label.setAttributeNS(null, "class", labelObj.className + " vis-label"); + label.setAttributeNS(null, 'class', labelObj.className + ' vis-label'); } - label.setAttributeNS(null, "x", x); - label.setAttributeNS(null, "y", y); + label.setAttributeNS(null, 'x', x); + label.setAttributeNS(null, 'y', y); } return point; @@ -8298,13 +8382,13 @@ return /******/ (function(modules) { // webpackBootstrap y -= height; } var rect = exports.getSVGElement('rect', JSONcontainer, svgContainer); - rect.setAttributeNS(null, "x", x - 0.5 * width); - rect.setAttributeNS(null, "y", y); - rect.setAttributeNS(null, "width", width); - rect.setAttributeNS(null, "height", height); - rect.setAttributeNS(null, "class", className); + rect.setAttributeNS(null, 'x', x - 0.5 * width); + rect.setAttributeNS(null, 'y', y); + rect.setAttributeNS(null, 'width', width); + rect.setAttributeNS(null, 'height', height); + rect.setAttributeNS(null, 'class', className); if (style) { - rect.setAttributeNS(null, "style", style); + rect.setAttributeNS(null, 'style', style); } } }; @@ -8934,8 +9018,8 @@ return /******/ (function(modules) { // webpackBootstrap // TODO: extend order by an Object {field:String, direction:String} // where direction can be 'asc' or 'desc' else { - throw new TypeError('Order must be a function or a string'); - } + throw new TypeError('Order must be a function or a string'); + } }; /** @@ -9711,9 +9795,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this._ids[id]) { delete this._ids[id]; removed.push(id); - } else { - // nothing interesting for me :-( - } + } else {} } } @@ -9757,6 +9839,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = DataView; + // nothing interesting for me :-( + /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { @@ -10000,11 +10084,9 @@ return /******/ (function(modules) { // webpackBootstrap if (backgroundColor.fill !== undefined) fill = backgroundColor.fill; if (backgroundColor.stroke !== undefined) stroke = backgroundColor.stroke; if (backgroundColor.strokeWidth !== undefined) strokeWidth = backgroundColor.strokeWidth; - } else if (backgroundColor === undefined) { - // use use defaults - } else { - throw 'Unsupported type of backgroundColor'; - } + } else if (backgroundColor === undefined) {} else { + throw 'Unsupported type of backgroundColor'; + } this.frame.style.backgroundColor = fill; this.frame.style.borderColor = stroke; @@ -10710,9 +10792,9 @@ return /******/ (function(modules) { // webpackBootstrap widthMin = dotSize / 2; // px widthMax = dotSize / 2 + dotSize * 2; // Todo: put this in one function } else { - widthMin = 20; // px - widthMax = 20; // px - } + widthMin = 20; // px + widthMax = 20; // px + } var height = Math.max(this.frame.clientHeight * 0.25, 100); var top = this.margin; @@ -11248,9 +11330,9 @@ return /******/ (function(modules) { // webpackBootstrap strokeStyle = this.axisColor; // TODO: should be customizable } } else { - fillStyle = 'gray'; - strokeStyle = this.axisColor; - } + fillStyle = 'gray'; + strokeStyle = this.axisColor; + } ctx.lineWidth = this._getStrokeWidth(point); ctx.fillStyle = fillStyle; @@ -12005,6 +12087,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Graph3d; + // use use defaults + /***/ }, /* 18 */ /***/ function(module, exports) { @@ -13520,10 +13604,7 @@ return /******/ (function(modules) { // webpackBootstrap var getEnd = function getEnd(item) { var end = item.data.end != undefined ? item.data.end : item.data.start; return util.convert(end, 'Date').valueOf(); - } - - // calculate the date of the left side and right side of the items given - ; + }; interval = max - min; // ms @@ -13531,6 +13612,8 @@ return /******/ (function(modules) { // webpackBootstrap interval = 10; } factor = interval / _this.props.center.width; + + // calculate the date of the left side and right side of the items given util.forEach(_this.itemSet.items, (function (item) { item.show(); @@ -14473,9 +14556,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * Destroy the component. Cleanup DOM and event listeners */ - Component.prototype.destroy = function () { - // should be implemented by the component - }; + Component.prototype.destroy = function () {}; /** * Test whether the component is resized since the last time _isResized() was @@ -14494,6 +14575,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Component; + // should be implemented by the component + /***/ }, /* 29 */ /***/ function(module, exports) { @@ -14568,16 +14651,16 @@ return /******/ (function(modules) { // webpackBootstrap } startDate.dayOfYear(start.dayOfYear()); startDate.year(start.year()); - startDate.subtract(7, 'days'); + startDate.subtract(7, "days"); endDate.dayOfYear(start.dayOfYear()); endDate.year(start.year()); - endDate.subtract(7 - offset, 'days'); + endDate.subtract(7 - offset, "days"); - runUntil.add(1, 'weeks'); + runUntil.add(1, "weeks"); break; case "weekly": - var dayOffset = endDate.diff(startDate, 'days'); + var dayOffset = endDate.diff(startDate, "days"); var day = startDate.day(); // set the start date to the range.start @@ -14589,12 +14672,12 @@ return /******/ (function(modules) { // webpackBootstrap // force startDate.day(day); endDate.day(day); - endDate.add(dayOffset, 'days'); + endDate.add(dayOffset, "days"); - startDate.subtract(1, 'weeks'); - endDate.subtract(1, 'weeks'); + startDate.subtract(1, "weeks"); + endDate.subtract(1, "weeks"); - runUntil.add(1, 'weeks'); + runUntil.add(1, "weeks"); break; case "monthly": if (startDate.month() != endDate.month()) { @@ -14602,26 +14685,26 @@ return /******/ (function(modules) { // webpackBootstrap } startDate.month(start.month()); startDate.year(start.year()); - startDate.subtract(1, 'months'); + startDate.subtract(1, "months"); endDate.month(start.month()); endDate.year(start.year()); - endDate.subtract(1, 'months'); - endDate.add(offset, 'months'); + endDate.subtract(1, "months"); + endDate.add(offset, "months"); - runUntil.add(1, 'months'); + runUntil.add(1, "months"); break; case "yearly": if (startDate.year() != endDate.year()) { offset = 1; } startDate.year(start.year()); - startDate.subtract(1, 'years'); + startDate.subtract(1, "years"); endDate.year(start.year()); - endDate.subtract(1, 'years'); - endDate.add(offset, 'years'); + endDate.subtract(1, "years"); + endDate.add(offset, "years"); - runUntil.add(1, 'years'); + runUntil.add(1, "years"); break; default: console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:", hiddenDates[i].repeat); @@ -14631,20 +14714,20 @@ return /******/ (function(modules) { // webpackBootstrap body.hiddenDates.push({ start: startDate.valueOf(), end: endDate.valueOf() }); switch (hiddenDates[i].repeat) { case "daily": - startDate.add(1, 'days'); - endDate.add(1, 'days'); + startDate.add(1, "days"); + endDate.add(1, "days"); break; case "weekly": - startDate.add(1, 'weeks'); - endDate.add(1, 'weeks'); + startDate.add(1, "weeks"); + endDate.add(1, "weeks"); break; case "monthly": - startDate.add(1, 'months'); - endDate.add(1, 'months'); + startDate.add(1, "months"); + endDate.add(1, "months"); break; case "yearly": - startDate.add(1, 'y'); - endDate.add(1, 'y'); + startDate.add(1, "y"); + endDate.add(1, "y"); break; default: console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:", hiddenDates[i].repeat); @@ -14691,14 +14774,14 @@ return /******/ (function(modules) { // webpackBootstrap } // j start inside i else if (hiddenDates[j].start >= hiddenDates[i].start && hiddenDates[j].start <= hiddenDates[i].end) { - hiddenDates[i].end = hiddenDates[j].end; - hiddenDates[j].remove = true; - } - // j end inside i - else if (hiddenDates[j].end >= hiddenDates[i].start && hiddenDates[j].end <= hiddenDates[i].end) { - hiddenDates[i].start = hiddenDates[j].start; - hiddenDates[j].remove = true; - } + hiddenDates[i].end = hiddenDates[j].end; + hiddenDates[j].remove = true; + } + // j end inside i + else if (hiddenDates[j].end >= hiddenDates[i].start && hiddenDates[j].end <= hiddenDates[i].end) { + hiddenDates[i].start = hiddenDates[j].start; + hiddenDates[j].remove = true; + } } } } @@ -15884,7 +15967,7 @@ return /******/ (function(modules) { // webpackBootstrap if (newScrollTop != oldScrollTop) { this._redraw(); // TODO: this causes two redraws when dragging, the other is triggered by rangechange already - this.emit("verticalDrag"); + this.emit('verticalDrag'); } }; @@ -17043,6 +17126,18 @@ return /******/ (function(modules) { // webpackBootstrap this.touchParams.itemProps = null; }; + /** + * Given an group id, returns the index it has. + * + * @param {Number} groupID + * @private + */ + ItemSet.prototype._getGroupIndex = function (groupId) { + for (var i = 0; i < this.groupIds.length; i++) { + if (groupId == this.groupIds[i]) return i; + } + }; + /** * Start dragging the selected events * @param {Event} event @@ -17086,11 +17181,17 @@ return /******/ (function(modules) { // webpackBootstrap this.touchParams.itemProps = [props]; } else { + this.touchParams.selectedItem = item; + + var baseGroupIndex = this._getGroupIndex(item.data.group); + this.touchParams.itemProps = this.getSelection().map(function (id) { var item = me.items[id]; + var groupIndex = me._getGroupIndex(item.data.group); var props = { item: item, initialX: event.center.x, + groupOffset: baseGroupIndex - groupIndex, data: util.extend({}, item.data) // clone the items data }; @@ -17166,6 +17267,22 @@ return /******/ (function(modules) { // webpackBootstrap var scale = this.body.util.getScale(); var step = this.body.util.getStep(); + //only calculate the new group for the item that's actually dragged + var selectedItem = this.touchParams.selectedItem; + var updateGroupAllowed = me.options.editable.updateGroup; + var newGroupBase = null; + if (updateGroupAllowed && selectedItem) { + if (selectedItem.data.group != undefined) { + // drag from one group to another + var group = me.groupFromTarget(event); + if (group) { + //we know the offset for all items, so the new group for all items + //will be relative to this one. + newGroupBase = this._getGroupIndex(group.groupId); + } + } + } + // move this.touchParams.itemProps.forEach(function (props) { var newProps = {}; @@ -17217,13 +17334,15 @@ return /******/ (function(modules) { // webpackBootstrap var updateGroupAllowed = me.options.editable.updateGroup || props.item.editable === true; - if (updateGroupAllowed && (!props.dragLeft && !props.dragRight)) { + if (updateGroupAllowed && (!props.dragLeft && !props.dragRight) && newGroupBase != null) { if (itemData.group != undefined) { - // drag from one group to another - var group = me.groupFromTarget(event); - if (group) { - itemData.group = group.groupId; - } + var newOffset = newGroupBase - props.groupOffset; + + //make sure we stay in bounds + newOffset = Math.max(0, newOffset); + newOffset = Math.min(me.groupIds.length - 1, newOffset); + + itemData.group = me.groupIds[newOffset]; } } @@ -17604,7 +17723,7 @@ return /******/ (function(modules) { // webpackBootstrap }; this.checkRangedItems = false; // needed to refresh the ranged items if the window is programatically changed with NO overlap. var me = this; - this.itemSet.body.emitter.on("checkRangedItems", function () { + this.itemSet.body.emitter.on('checkRangedItems', function () { me.checkRangedItems = true; }); @@ -18489,10 +18608,10 @@ return /******/ (function(modules) { // webpackBootstrap // a width which will not change when moving the Timeline // So no re-stacking needed, which is nicer for the eye; } else { - this.left = start; - this.width = boxWidth; - contentWidth = Math.min(end - start, this.props.content.width); - } + this.left = start; + this.width = boxWidth; + contentWidth = Math.min(end - start, this.props.content.width); + } this.dom.box.style.left = this.left + 'px'; this.dom.box.style.width = boxWidth + 'px'; @@ -18520,12 +18639,12 @@ return /******/ (function(modules) { // webpackBootstrap contentLeft = -contentWidth; // ensure it's not visible anymore } } else { - if (start < 0) { - contentLeft = -start; - } else { - contentLeft = 0; - } + if (start < 0) { + contentLeft = -start; + } else { + contentLeft = 0; } + } this.dom.content.style.left = contentLeft + 'px'; } }; @@ -18715,7 +18834,7 @@ return /******/ (function(modules) { // webpackBootstrap */ TimeStep.prototype.setRange = function (start, end, minimumStep) { if (!(start instanceof Date) || !(end instanceof Date)) { - throw "No legal start or end date in method setRange"; + throw 'No legal start or end date in method setRange'; } this._start = start != undefined ? this.moment(start.valueOf()) : new Date(); @@ -18757,7 +18876,7 @@ return /******/ (function(modules) { // webpackBootstrap this.current.seconds(0); case 'second': this.current.milliseconds(0); - //case 'millisecond': // nothing to do for milliseconds + //case 'millisecond': // nothing to do for milliseconds } if (this.step != 1) { @@ -18773,11 +18892,11 @@ return /******/ (function(modules) { // webpackBootstrap this.current.subtract(this.current.hours() % this.step, 'hours');break; case 'weekday': // intentional fall through case 'day': - this.current.subtract((this.current.date() - 1) % this.step);break; + this.current.subtract((this.current.date() - 1) % this.step, 'day');break; case 'month': - this.current.subtract(this.current.month() % this.step);break; + this.current.subtract(this.current.month() % this.step, 'month');break; case 'year': - this.current.subtract(this.current.year() % this.step);break; + this.current.subtract(this.current.year() % this.step, 'year');break; default: break; } @@ -18812,7 +18931,7 @@ return /******/ (function(modules) { // webpackBootstrap this.current.add(this.step, 'hour'); // in case of skipping an hour for daylight savings, adjust the hour again (else you get: 0h 5h 9h ... instead of 0h 4h 8h ...) // TODO: is this still needed now we use the function of moment.js? - this.current.subtract(this.current.hours() % this.step); + this.current.subtract(this.current.hours() % this.step, 'hour'); break; case 'weekday': // intentional fall through case 'day': @@ -19050,8 +19169,8 @@ return /******/ (function(modules) { // webpackBootstrap clone.add(1, 'month'); // important: first set Date to 1, after that change the month. } else { - clone.date(1); - } + clone.date(1); + } clone.hours(0); clone.minutes(0); @@ -19785,23 +19904,23 @@ return /******/ (function(modules) { // webpackBootstrap } // and when the orientation is bottom: else { - var newTop = this.parent.top; - var totalHeight = 0; - for (var subgroup in subgroups) { - if (subgroups.hasOwnProperty(subgroup)) { - if (subgroups[subgroup].visible == true) { - var newHeight = subgroups[subgroup].height + margin.item.vertical; - totalHeight += newHeight; - if (subgroups[subgroup].index > subgroupIndex) { - newTop += newHeight; - } + var newTop = this.parent.top; + var totalHeight = 0; + for (var subgroup in subgroups) { + if (subgroups.hasOwnProperty(subgroup)) { + if (subgroups[subgroup].visible == true) { + var newHeight = subgroups[subgroup].height + margin.item.vertical; + totalHeight += newHeight; + if (subgroups[subgroup].index > subgroupIndex) { + newTop += newHeight; } } } - height = this.parent.subgroups[itemSubgroup].height + margin.item.vertical; - this.dom.box.style.top = this.parent.height - totalHeight + newTop + 'px'; - this.dom.box.style.bottom = ''; } + height = this.parent.subgroups[itemSubgroup].height + margin.item.vertical; + this.dom.box.style.top = this.parent.height - totalHeight + newTop + 'px'; + this.dom.box.style.bottom = ''; + } } // and in the case of no subgroups: else { @@ -21098,6 +21217,10 @@ return /******/ (function(modules) { // webpackBootstrap var _ColorPicker = __webpack_require__(46); + var _ColorPicker2 = _interopRequireDefault(_ColorPicker); + + var util = __webpack_require__(7); + /** * The way this works is for all properties of this.possible options, you can supply the property name in any form to list the options. * Boolean options are recognised as Boolean @@ -21113,10 +21236,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param pixelRatio | canvas pixel ratio */ - var _ColorPicker2 = _interopRequireDefault(_ColorPicker); - - var util = __webpack_require__(7); - var Configurator = (function () { function Configurator(parentModule, defaultContainer, configureOptions) { var pixelRatio = arguments.length <= 3 || arguments[3] === undefined ? 1 : arguments[3]; @@ -21144,15 +21263,15 @@ return /******/ (function(modules) { // webpackBootstrap this.wrapper = undefined; } - /** - * refresh all options. - * Because all modules parse their options by themselves, we just use their options. We copy them here. - * - * @param options - */ - _createClass(Configurator, [{ key: 'setOptions', + + /** + * refresh all options. + * Because all modules parse their options by themselves, we just use their options. We copy them here. + * + * @param options + */ value: function setOptions(options) { if (options !== undefined) { var enabled = true; @@ -21200,13 +21319,13 @@ return /******/ (function(modules) { // webpackBootstrap this._create(); } } + }, { + key: '_create', /** * Create all DOM elements * @private */ - }, { - key: '_create', value: function _create() { var _this = this; @@ -21270,13 +21389,13 @@ return /******/ (function(modules) { // webpackBootstrap this._push(); this.colorPicker.insertTo(this.container); } + }, { + key: '_push', /** * draw all DOM elements on the screen * @private */ - }, { - key: '_push', value: function _push() { this.wrapper = document.createElement('div'); this.wrapper.className = 'vis-network-configuration-wrapper'; @@ -21285,13 +21404,13 @@ return /******/ (function(modules) { // webpackBootstrap this.wrapper.appendChild(this.domElements[i]); } } + }, { + key: '_clean', /** * delete all DOM elements * @private */ - }, { - key: '_clean', value: function _clean() { for (var i = 0; i < this.domElements.length; i++) { this.wrapper.removeChild(this.domElements[i]); @@ -21303,6 +21422,8 @@ return /******/ (function(modules) { // webpackBootstrap } this.domElements = []; } + }, { + key: '_getValue', /** * get the value from the actualOptions if it exists @@ -21310,8 +21431,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_getValue', value: function _getValue(path) { var base = this.moduleOptions; for (var i = 0; i < path.length; i++) { @@ -21324,6 +21443,8 @@ return /******/ (function(modules) { // webpackBootstrap } return base; } + }, { + key: '_makeItem', /** * all option elements are wrapped in an item @@ -21331,8 +21452,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param domElements * @private */ - }, { - key: '_makeItem', value: function _makeItem(path) { var _arguments = arguments, _this2 = this; @@ -21355,20 +21474,22 @@ return /******/ (function(modules) { // webpackBootstrap })(); } } + }, { + key: '_makeHeader', /** * header for major subjects * @param name * @private */ - }, { - key: '_makeHeader', value: function _makeHeader(name) { var div = document.createElement('div'); div.className = 'vis-network-configuration header'; div.innerHTML = name; this._makeItem([], div); } + }, { + key: '_makeLabel', /** * make a label, if it is an object label, it gets different styling. @@ -21378,8 +21499,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {HTMLElement} * @private */ - }, { - key: '_makeLabel', value: function _makeLabel(name, path) { var objectLabel = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; @@ -21392,6 +21511,8 @@ return /******/ (function(modules) { // webpackBootstrap } return div; } + }, { + key: '_makeDropdown', /** * make a dropdown list for multiple possible string optoins @@ -21400,8 +21521,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeDropdown', value: function _makeDropdown(arr, value, path) { var select = document.createElement('select'); select.className = 'vis-network-configuration select'; @@ -21430,6 +21549,8 @@ return /******/ (function(modules) { // webpackBootstrap var label = this._makeLabel(path[path.length - 1], path); this._makeItem(path, label, select); } + }, { + key: '_makeRange', /** * make a range object for numeric options @@ -21438,8 +21559,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeRange', value: function _makeRange(arr, value, path) { var defaultValue = arr[0]; var min = arr[1]; @@ -21483,6 +21602,8 @@ return /******/ (function(modules) { // webpackBootstrap var label = this._makeLabel(path[path.length - 1], path); this._makeItem(path, label, range, input); } + }, { + key: '_makeCheckbox', /** * make a checkbox for boolean options. @@ -21491,8 +21612,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeCheckbox', value: function _makeCheckbox(defaultValue, value, path) { var checkbox = document.createElement('input'); checkbox.type = 'checkbox'; @@ -21519,6 +21638,8 @@ return /******/ (function(modules) { // webpackBootstrap var label = this._makeLabel(path[path.length - 1], path); this._makeItem(path, label, checkbox); } + }, { + key: '_makeTextInput', /** * make a text input field for string options. @@ -21527,8 +21648,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeTextInput', value: function _makeTextInput(defaultValue, value, path) { var checkbox = document.createElement('input'); checkbox.type = 'text'; @@ -21546,6 +21665,8 @@ return /******/ (function(modules) { // webpackBootstrap var label = this._makeLabel(path[path.length - 1], path); this._makeItem(path, label, checkbox); } + }, { + key: '_makeColorField', /** * make a color field with a color picker for color fields @@ -21554,8 +21675,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeColorField', value: function _makeColorField(arr, value, path) { var _this3 = this; @@ -21578,6 +21697,8 @@ return /******/ (function(modules) { // webpackBootstrap var label = this._makeLabel(path[path.length - 1], path); this._makeItem(path, label, div); } + }, { + key: '_showColorPicker', /** * used by the color buttons to call the color picker. @@ -21587,8 +21708,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_showColorPicker', value: function _showColorPicker(value, div, path) { var _this4 = this; @@ -21604,6 +21723,8 @@ return /******/ (function(modules) { // webpackBootstrap _this4._update(colorString, path); }); } + }, { + key: '_handleObject', /** * parse an object and draw the correct items @@ -21611,8 +21732,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_handleObject', value: function _handleObject(obj) { var path = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; var checkOnly = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; @@ -21683,6 +21802,8 @@ return /******/ (function(modules) { // webpackBootstrap } return visibleInSet; } + }, { + key: '_handleArray', /** * handle the array type of option @@ -21692,8 +21813,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_handleArray', value: function _handleArray(arr, value, path) { if (typeof arr[0] === 'string' && arr[0] === 'color') { this._makeColorField(arr, value, path); @@ -21712,6 +21831,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_update', /** * called to update the network with the new settings. @@ -21719,13 +21840,11 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_update', value: function _update(value, path) { var options = this._constructOptions(value, path); if (this.parent.body && this.parent.body.emitter && this.parent.body.emitter.emit) { - this.parent.body.emitter.emit("configChange", options); + this.parent.body.emitter.emit('configChange', options); } this.parent.setOptions(options); @@ -21819,13 +21938,13 @@ return /******/ (function(modules) { // webpackBootstrap this._create(); } - /** - * this inserts the colorPicker into a div from the DOM - * @param container - */ - _createClass(ColorPicker, [{ key: 'insertTo', + + /** + * this inserts the colorPicker into a div from the DOM + * @param container + */ value: function insertTo(container) { if (this.hammer !== undefined) { this.hammer.destroy(); @@ -21837,18 +21956,18 @@ return /******/ (function(modules) { // webpackBootstrap this._setSize(); } + }, { + key: 'setCallback', /** * the callback is executed on apply and save. Bind it to the application * @param callback */ - }, { - key: 'setCallback', value: function setCallback(callback) { if (typeof callback === 'function') { this.updateCallback = callback; } else { - throw new Error("Function attempted to set as colorPicker callback is not a function."); + throw new Error('Function attempted to set as colorPicker callback is not a function.'); } } }, { @@ -21859,6 +21978,8 @@ return /******/ (function(modules) { // webpackBootstrap return htmlColors[color]; } } + }, { + key: 'setColor', /** * Set the color of the colorPicker @@ -21872,8 +21993,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param color * @param setInitial */ - }, { - key: 'setColor', value: function setColor(color) { var setInitial = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; @@ -21912,19 +22031,19 @@ return /******/ (function(modules) { // webpackBootstrap // set color if (rgba === undefined) { - throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: " + JSON.stringify(color)); + throw new Error('Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: ' + JSON.stringify(color)); } else { this._setColor(rgba, setInitial); } } + }, { + key: 'show', /** * this shows the color picker at a location. The hue circle is constructed once and stored. * @param x * @param y */ - }, { - key: 'show', value: function show(x, y) { this.applied = false; this.frame.style.display = 'block'; @@ -21932,6 +22051,8 @@ return /******/ (function(modules) { // webpackBootstrap this.frame.style.left = x + 'px'; this._generateHueCircle(); } + }, { + key: '_hide', // ------------------------------------------ PRIVATE ----------------------------- // @@ -21941,8 +22062,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param storePrevious * @private */ - }, { - key: '_hide', value: function _hide() { var storePrevious = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; @@ -21957,44 +22076,46 @@ return /******/ (function(modules) { // webpackBootstrap this.frame.style.display = 'none'; } + }, { + key: '_save', /** * bound to the save button. Saves and hides. * @private */ - }, { - key: '_save', value: function _save() { this.updateCallback(this.color); this.applied = false; this._hide(); } + }, { + key: '_apply', /** * Bound to apply button. Saves but does not close. Is undone by the cancel button. * @private */ - }, { - key: '_apply', value: function _apply() { this.applied = true; this.updateCallback(this.color); this._updatePicker(this.color); } + }, { + key: '_loadLast', /** * load the color from the previous session. * @private */ - }, { - key: '_loadLast', value: function _loadLast() { if (this.previousColor !== undefined) { this.setColor(this.previousColor, false); } else { - alert("There is no last color to load..."); + alert('There is no last color to load...'); } } + }, { + key: '_setColor', /** * set the color, place the picker @@ -22002,8 +22123,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param setInitial * @private */ - }, { - key: '_setColor', value: function _setColor(rgba) { var setInitial = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; @@ -22025,26 +22144,26 @@ return /******/ (function(modules) { // webpackBootstrap this._updatePicker(rgba); } + }, { + key: '_setOpacity', /** * bound to opacity control * @param value * @private */ - }, { - key: '_setOpacity', value: function _setOpacity(value) { this.color.a = value / 100; this._updatePicker(this.color); } + }, { + key: '_setBrightness', /** * bound to brightness control * @param value * @private */ - }, { - key: '_setBrightness', value: function _setBrightness(value) { var hsv = util.RGBToHSV(this.color.r, this.color.g, this.color.b); hsv.v = value / 100; @@ -22053,14 +22172,14 @@ return /******/ (function(modules) { // webpackBootstrap this.color = rgba; this._updatePicker(); } + }, { + key: '_updatePicker', /** * update the colorpicker. A black circle overlays the hue circle to mimic the brightness decreasing. * @param rgba * @private */ - }, { - key: '_updatePicker', value: function _updatePicker() { var rgba = arguments.length <= 0 || arguments[0] === undefined ? this.color : arguments[0]; @@ -22087,13 +22206,13 @@ return /******/ (function(modules) { // webpackBootstrap this.initialColorDiv.style.backgroundColor = 'rgba(' + this.initialColor.r + ',' + this.initialColor.g + ',' + this.initialColor.b + ',' + this.initialColor.a + ')'; this.newColorDiv.style.backgroundColor = 'rgba(' + this.color.r + ',' + this.color.g + ',' + this.color.b + ',' + this.color.a + ')'; } + }, { + key: '_setSize', /** * used by create to set the size of the canvas. * @private */ - }, { - key: '_setSize', value: function _setSize() { this.colorPickerCanvas.style.width = '100%'; this.colorPickerCanvas.style.height = '100%'; @@ -22101,14 +22220,14 @@ return /******/ (function(modules) { // webpackBootstrap this.colorPickerCanvas.width = 289 * this.pixelRatio; this.colorPickerCanvas.height = 289 * this.pixelRatio; } + }, { + key: '_create', /** * create all dom elements * TODO: cleanup, lots of similar dom elements * @private */ - }, { - key: '_create', value: function _create() { this.frame = document.createElement('div'); this.frame.className = 'vis-color-picker'; @@ -22129,10 +22248,10 @@ return /******/ (function(modules) { // webpackBootstrap noCanvas.innerHTML = 'Error: your browser does not support HTML canvas'; this.colorPickerCanvas.appendChild(noCanvas); } else { - var ctx = this.colorPickerCanvas.getContext("2d"); + var ctx = this.colorPickerCanvas.getContext('2d'); this.pixelRatio = (window.devicePixelRatio || 1) / (ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1); - this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0); + this.colorPickerCanvas.getContext('2d').setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0); } this.colorPickerDiv.className = 'vis-color'; @@ -22181,39 +22300,39 @@ return /******/ (function(modules) { // webpackBootstrap me._setBrightness(this.value); }; - this.brightnessLabel = document.createElement("div"); - this.brightnessLabel.className = "vis-label vis-brightness"; + this.brightnessLabel = document.createElement('div'); + this.brightnessLabel.className = 'vis-label vis-brightness'; this.brightnessLabel.innerHTML = 'brightness:'; - this.opacityLabel = document.createElement("div"); - this.opacityLabel.className = "vis-label vis-opacity"; + this.opacityLabel = document.createElement('div'); + this.opacityLabel.className = 'vis-label vis-opacity'; this.opacityLabel.innerHTML = 'opacity:'; - this.newColorDiv = document.createElement("div"); - this.newColorDiv.className = "vis-new-color"; + this.newColorDiv = document.createElement('div'); + this.newColorDiv.className = 'vis-new-color'; this.newColorDiv.innerHTML = 'new'; - this.initialColorDiv = document.createElement("div"); - this.initialColorDiv.className = "vis-initial-color"; + this.initialColorDiv = document.createElement('div'); + this.initialColorDiv.className = 'vis-initial-color'; this.initialColorDiv.innerHTML = 'initial'; - this.cancelButton = document.createElement("div"); - this.cancelButton.className = "vis-button vis-cancel"; + this.cancelButton = document.createElement('div'); + this.cancelButton.className = 'vis-button vis-cancel'; this.cancelButton.innerHTML = 'cancel'; this.cancelButton.onclick = this._hide.bind(this, false); - this.applyButton = document.createElement("div"); - this.applyButton.className = "vis-button vis-apply"; + this.applyButton = document.createElement('div'); + this.applyButton.className = 'vis-button vis-apply'; this.applyButton.innerHTML = 'apply'; this.applyButton.onclick = this._apply.bind(this); - this.saveButton = document.createElement("div"); - this.saveButton.className = "vis-button vis-save"; + this.saveButton = document.createElement('div'); + this.saveButton.className = 'vis-button vis-save'; this.saveButton.innerHTML = 'save'; this.saveButton.onclick = this._save.bind(this); - this.loadButton = document.createElement("div"); - this.loadButton.className = "vis-button vis-load"; + this.loadButton = document.createElement('div'); + this.loadButton.className = 'vis-button vis-load'; this.loadButton.innerHTML = 'load last'; this.loadButton.onclick = this._loadLast.bind(this); @@ -22231,13 +22350,13 @@ return /******/ (function(modules) { // webpackBootstrap this.frame.appendChild(this.saveButton); this.frame.appendChild(this.loadButton); } + }, { + key: '_bindHammer', /** * bind hammer to the color picker * @private */ - }, { - key: '_bindHammer', value: function _bindHammer() { var _this = this; @@ -22262,13 +22381,13 @@ return /******/ (function(modules) { // webpackBootstrap _this._moveSelector(event); }); } + }, { + key: '_generateHueCircle', /** * generate the hue circle. This is relatively heavy (200ms) and is done only once on the first time it is shown. * @private */ - }, { - key: '_generateHueCircle', value: function _generateHueCircle() { if (this.generated === false) { var ctx = this.colorPickerCanvas.getContext('2d'); @@ -22310,6 +22429,8 @@ return /******/ (function(modules) { // webpackBootstrap } this.generated = true; } + }, { + key: '_moveSelector', /** * move the selector. This is called by hammer functions. @@ -22317,8 +22438,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param event * @private */ - }, { - key: '_moveSelector', value: function _moveSelector(event) { var rect = this.colorPickerDiv.getBoundingClientRect(); var left = event.center.x - rect.left; @@ -22390,15 +22509,15 @@ return /******/ (function(modules) { // webpackBootstrap _classCallCheck(this, Validator); } - /** - * Main function to be called - * @param options - * @param subObject - * @returns {boolean} - */ - _createClass(Validator, null, [{ key: 'validate', + + /** + * Main function to be called + * @param options + * @param subObject + * @returns {boolean} + */ value: function validate(options, referenceOptions, subObject) { errorFound = false; allOptions = referenceOptions; @@ -22409,6 +22528,8 @@ return /******/ (function(modules) { // webpackBootstrap Validator.parse(options, usedOptions, []); return errorFound; } + }, { + key: 'parse', /** * Will traverse an object recursively and check every value @@ -22416,8 +22537,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param referenceOptions * @param path */ - }, { - key: 'parse', value: function parse(options, referenceOptions, path) { for (var option in options) { if (options.hasOwnProperty(option)) { @@ -22425,6 +22544,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'check', /** * Check every value. If the value is an object, call the parse function on that object. @@ -22433,8 +22554,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param referenceOptions * @param path */ - }, { - key: 'check', value: function check(option, options, referenceOptions, path) { if (referenceOptions[option] === undefined && referenceOptions.__any__ === undefined) { Validator.getSuggestion(option, referenceOptions, path); @@ -22456,6 +22575,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'checkFields', /** * @@ -22466,8 +22587,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {String} refOptionType | This is the type object from the reference options * @param {Array} path | where in the object is the option */ - }, { - key: 'checkFields', value: function checkFields(option, options, referenceOptions, referenceOption, refOptionObj, path) { var optionType = Validator.getType(options[option]); var refOptionType = refOptionObj[optionType]; @@ -22477,11 +22596,11 @@ return /******/ (function(modules) { // webpackBootstrap if (refOptionType.indexOf(options[option]) === -1) { console.log('%cInvalid option detected in "' + option + '".' + ' Allowed values are:' + Validator.print(refOptionType) + ' not "' + options[option] + '". ' + Validator.printLocation(path, option), printStyle); errorFound = true; - } else if (optionType === 'object' && referenceOption !== "__any__") { + } else if (optionType === 'object' && referenceOption !== '__any__') { path = util.copyAndExtendArray(path, option); Validator.parse(options[option], referenceOptions[referenceOption], path); } - } else if (optionType === 'object' && referenceOption !== "__any__") { + } else if (optionType === 'object' && referenceOption !== '__any__') { path = util.copyAndExtendArray(path, option); Validator.parse(options[option], referenceOptions[referenceOption], path); } @@ -22554,6 +22673,8 @@ return /******/ (function(modules) { // webpackBootstrap errorFound = true; } + }, { + key: 'findInOptions', /** * traverse the options in search for a match. @@ -22563,8 +22684,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param recursive * @returns {{closestMatch: string, path: Array, distance: number}} */ - }, { - key: 'findInOptions', value: function findInOptions(option, options, path) { var recursive = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3]; @@ -22624,19 +22743,19 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'print', value: function print(options) { - return JSON.stringify(options).replace(/(\")|(\[)|(\])|(,"__type__")/g, "").replace(/(\,)/g, ', '); + return JSON.stringify(options).replace(/(\")|(\[)|(\])|(,"__type__")/g, '').replace(/(\,)/g, ', '); } + }, { + key: 'levenshteinDistance', // Compute the edit distance between the two given strings // http://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#JavaScript /* Copyright (c) 2011 Andrei Mackenzie - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - }, { - key: 'levenshteinDistance', value: function levenshteinDistance(a, b) { if (a.length === 0) return b.length; if (b.length === 0) return a.length; @@ -23118,7 +23237,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this.linegraph.groups[groupId] !== undefined) { return this.linegraph.groups[groupId].getLegend(width, height); } else { - return "cannot find group:" + groupId; + return 'cannot find group:' + groupId; } }; @@ -23435,7 +23554,7 @@ return /******/ (function(modules) { // webpackBootstrap this.updateSVGheight = true; this.updateSVGheightOnResize = true; } else if (this.body.domProps.centerContainer.height !== undefined && options.graphHeight !== undefined) { - if (parseInt((options.graphHeight + '').replace("px", '')) < this.body.domProps.centerContainer.height) { + if (parseInt((options.graphHeight + '').replace('px', '')) < this.body.domProps.centerContainer.height) { this.updateSVGheight = true; } } @@ -23789,7 +23908,7 @@ return /******/ (function(modules) { // webpackBootstrap this.svg.style.left = util.option.asSize(-this.props.width); // if the height of the graph is set as proportional, change the height of the svg - if ((this.options.height + '').indexOf("%") != -1 || this.updateSVGheightOnResize == true) { + if ((this.options.height + '').indexOf('%') != -1 || this.updateSVGheightOnResize == true) { this.updateSVGheight = true; } } @@ -23881,7 +24000,7 @@ return /******/ (function(modules) { // webpackBootstrap return true; } else { if (this.COUNTER > MAX_CYCLES) { - console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."); + console.log('WARNING: there may be an infinite loop in the _updateGraph emitter cycle.'); } this.COUNTER = 0; this.abortedGraphUpdate = false; @@ -24280,7 +24399,7 @@ return /******/ (function(modules) { // webpackBootstrap this.conversionFactor = 1; this.setOptions(options); - this.width = Number(('' + this.options.width).replace("px", "")); + this.width = Number(('' + this.options.width).replace('px', '')); this.minWidth = this.width; this.height = this.linegraphSVG.offsetHeight; this.hidden = false; @@ -24301,7 +24420,7 @@ return /******/ (function(modules) { // webpackBootstrap this._create(); var me = this; - this.body.emitter.on("verticalDrag", function () { + this.body.emitter.on('verticalDrag', function () { me.dom.lineContainer.style.top = me.body.domProps.scrollTop + 'px'; }); } @@ -24335,7 +24454,7 @@ return /******/ (function(modules) { // webpackBootstrap var fields = ['orientation', 'showMinorLabels', 'showMajorLabels', 'icons', 'majorLinesOffset', 'minorLinesOffset', 'labelOffsetX', 'labelOffsetY', 'iconWidth', 'width', 'visible', 'left', 'right', 'alignZeros']; util.selectiveExtend(fields, this.options, options); - this.minWidth = Number(('' + this.options.width).replace("px", "")); + this.minWidth = Number(('' + this.options.width).replace('px', '')); if (redraw === true && this.dom.frame) { this.hide(); @@ -24358,12 +24477,12 @@ return /******/ (function(modules) { // webpackBootstrap this.dom.lineContainer.style.position = 'relative'; // create svg element for graph drawing. - this.svg = document.createElementNS('http://www.w3.org/2000/svg', "svg"); - this.svg.style.position = "absolute"; + this.svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + this.svg.style.position = 'absolute'; this.svg.style.top = '0px'; this.svg.style.height = '100%'; this.svg.style.width = '100%'; - this.svg.style.display = "block"; + this.svg.style.display = 'block'; this.dom.frame.appendChild(this.svg); }; @@ -24477,11 +24596,11 @@ return /******/ (function(modules) { // webpackBootstrap this.hide(); } else { this.show(); - this.height = Number(this.linegraphSVG.style.height.replace("px", "")); + this.height = Number(this.linegraphSVG.style.height.replace('px', '')); // svg offsetheight did not work in firefox and explorer... this.dom.lineContainer.style.height = this.height + 'px'; - this.width = this.options.visible === true ? Number(('' + this.options.width).replace("px", "")) : 0; + this.width = this.options.visible === true ? Number(('' + this.options.width).replace('px', '')) : 0; var props = this.props; var frame = this.dom.frame; @@ -24511,7 +24630,7 @@ return /******/ (function(modules) { // webpackBootstrap frame.style.left = '0'; frame.style.bottom = ''; frame.style.width = this.width + 'px'; - frame.style.height = this.height + "px"; + frame.style.height = this.height + 'px'; this.props.width = this.body.domProps.left.width; this.props.height = this.body.domProps.left.height; } else { @@ -24520,7 +24639,7 @@ return /******/ (function(modules) { // webpackBootstrap frame.style.bottom = '0'; frame.style.left = '0'; frame.style.width = this.width + 'px'; - frame.style.height = this.height + "px"; + frame.style.height = this.height + 'px'; this.props.width = this.body.domProps.right.width; this.props.height = this.body.domProps.right.height; } @@ -24644,7 +24763,7 @@ return /******/ (function(modules) { // webpackBootstrap // this will resize the yAxis to accommodate the labels. if (this.maxLabelSize > this.width - offset && this.options.visible === true) { this.width = this.maxLabelSize + offset; - this.options.width = this.width + "px"; + this.options.width = this.width + 'px'; DOMutil.cleanupElements(this.DOMelements.lines); DOMutil.cleanupElements(this.DOMelements.labels); this.redraw(); @@ -24652,17 +24771,17 @@ return /******/ (function(modules) { // webpackBootstrap } // this will resize the yAxis if it is too big for the labels. else if (this.maxLabelSize < this.width - offset && this.options.visible === true && this.width > this.minWidth) { - this.width = Math.max(this.minWidth, this.maxLabelSize + offset); - this.options.width = this.width + "px"; - DOMutil.cleanupElements(this.DOMelements.lines); - DOMutil.cleanupElements(this.DOMelements.labels); - this.redraw(); - resized = true; - } else { - DOMutil.cleanupElements(this.DOMelements.lines); - DOMutil.cleanupElements(this.DOMelements.labels); - resized = false; - } + this.width = Math.max(this.minWidth, this.maxLabelSize + offset); + this.options.width = this.width + 'px'; + DOMutil.cleanupElements(this.DOMelements.lines); + DOMutil.cleanupElements(this.DOMelements.labels); + this.redraw(); + resized = true; + } else { + DOMutil.cleanupElements(this.DOMelements.lines); + DOMutil.cleanupElements(this.DOMelements.labels); + resized = false; + } return resized; }; @@ -24693,10 +24812,10 @@ return /******/ (function(modules) { // webpackBootstrap label.innerHTML = text; if (orientation === 'left') { label.style.left = '-' + this.options.labelOffsetX + 'px'; - label.style.textAlign = "right"; + label.style.textAlign = 'right'; } else { label.style.right = '-' + this.options.labelOffsetX + 'px'; - label.style.textAlign = "left"; + label.style.textAlign = 'left'; } label.style.top = y - 0.5 * characterHeight + this.options.labelOffsetY + 'px'; @@ -25180,29 +25299,29 @@ return /******/ (function(modules) { // webpackBootstrap var fillHeight = iconHeight * 0.5; var path, fillPath; - var outline = DOMutil.getSVGElement("rect", JSONcontainer, SVGcontainer); - outline.setAttributeNS(null, "x", x); - outline.setAttributeNS(null, "y", y - fillHeight); - outline.setAttributeNS(null, "width", iconWidth); - outline.setAttributeNS(null, "height", 2 * fillHeight); - outline.setAttributeNS(null, "class", "vis-outline"); + var outline = DOMutil.getSVGElement('rect', JSONcontainer, SVGcontainer); + outline.setAttributeNS(null, 'x', x); + outline.setAttributeNS(null, 'y', y - fillHeight); + outline.setAttributeNS(null, 'width', iconWidth); + outline.setAttributeNS(null, 'height', 2 * fillHeight); + outline.setAttributeNS(null, 'class', 'vis-outline'); if (this.options.style == 'line') { - path = DOMutil.getSVGElement("path", JSONcontainer, SVGcontainer); - path.setAttributeNS(null, "class", this.className); + path = DOMutil.getSVGElement('path', JSONcontainer, SVGcontainer); + path.setAttributeNS(null, 'class', this.className); if (this.style !== undefined) { - path.setAttributeNS(null, "style", this.style); + path.setAttributeNS(null, 'style', this.style); } - path.setAttributeNS(null, "d", "M" + x + "," + y + " L" + (x + iconWidth) + "," + y + ""); + path.setAttributeNS(null, 'd', 'M' + x + ',' + y + ' L' + (x + iconWidth) + ',' + y + ''); if (this.options.shaded.enabled == true) { - fillPath = DOMutil.getSVGElement("path", JSONcontainer, SVGcontainer); + fillPath = DOMutil.getSVGElement('path', JSONcontainer, SVGcontainer); if (this.options.shaded.orientation == 'top') { - fillPath.setAttributeNS(null, "d", "M" + x + ", " + (y - fillHeight) + "L" + x + "," + y + " L" + (x + iconWidth) + "," + y + " L" + (x + iconWidth) + "," + (y - fillHeight)); + fillPath.setAttributeNS(null, 'd', 'M' + x + ', ' + (y - fillHeight) + 'L' + x + ',' + y + ' L' + (x + iconWidth) + ',' + y + ' L' + (x + iconWidth) + ',' + (y - fillHeight)); } else { - fillPath.setAttributeNS(null, "d", "M" + x + "," + y + " " + "L" + x + "," + (y + fillHeight) + " " + "L" + (x + iconWidth) + "," + (y + fillHeight) + "L" + (x + iconWidth) + "," + y); + fillPath.setAttributeNS(null, 'd', 'M' + x + ',' + y + ' ' + 'L' + x + ',' + (y + fillHeight) + ' ' + 'L' + (x + iconWidth) + ',' + (y + fillHeight) + 'L' + (x + iconWidth) + ',' + y); } - fillPath.setAttributeNS(null, "class", this.className + " vis-icon-fill"); + fillPath.setAttributeNS(null, 'class', this.className + ' vis-icon-fill'); } if (this.options.drawPoints.enabled == true) { @@ -25233,7 +25352,7 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{icon: HTMLElement, label: (group.content|*|string), orientation: (.options.yAxisOrientation|*)}} */ GraphGroup.prototype.getLegend = function (iconWidth, iconHeight) { - var svg = document.createElementNS('http://www.w3.org/2000/svg', "svg"); + var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); this.drawIcon(0, 0.5 * iconHeight, [], svg, iconWidth, iconHeight); return { icon: svg, label: this.content, orientation: this.options.yAxisOrientation }; }; @@ -25373,9 +25492,9 @@ return /******/ (function(modules) { // webpackBootstrap var path, d; var svgHeight = Number(framework.svg.style.height.replace('px', '')); path = DOMutil.getSVGElement('path', framework.svgElements, framework.svg); - path.setAttributeNS(null, "class", group.className); + path.setAttributeNS(null, 'class', group.className); if (group.style !== undefined) { - path.setAttributeNS(null, "style", group.style); + path.setAttributeNS(null, 'style', group.style); } // construct path from dataset @@ -25945,16 +26064,16 @@ return /******/ (function(modules) { // webpackBootstrap Legend.prototype._create = function () { this.dom.frame = document.createElement('div'); this.dom.frame.className = 'vis-legend'; - this.dom.frame.style.position = "absolute"; - this.dom.frame.style.top = "10px"; - this.dom.frame.style.display = "block"; + this.dom.frame.style.position = 'absolute'; + this.dom.frame.style.top = '10px'; + this.dom.frame.style.display = 'block'; this.dom.textArea = document.createElement('div'); this.dom.textArea.className = 'vis-legend-text'; - this.dom.textArea.style.position = "relative"; - this.dom.textArea.style.top = "0px"; + this.dom.textArea.style.position = 'relative'; + this.dom.textArea.style.top = '0px'; - this.svg = document.createElementNS('http://www.w3.org/2000/svg', "svg"); + this.svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); this.svg.style.position = 'absolute'; this.svg.style.top = 0 + 'px'; this.svg.style.width = this.options.iconSize + 5 + 'px'; @@ -26010,16 +26129,16 @@ return /******/ (function(modules) { // webpackBootstrap this.show(); if (this.options[this.side].position == 'top-left' || this.options[this.side].position == 'bottom-left') { this.dom.frame.style.left = '4px'; - this.dom.frame.style.textAlign = "left"; - this.dom.textArea.style.textAlign = "left"; + this.dom.frame.style.textAlign = 'left'; + this.dom.textArea.style.textAlign = 'left'; this.dom.textArea.style.left = this.options.iconSize + 15 + 'px'; this.dom.textArea.style.right = ''; this.svg.style.left = 0 + 'px'; this.svg.style.right = ''; } else { this.dom.frame.style.right = '4px'; - this.dom.frame.style.textAlign = "right"; - this.dom.textArea.style.textAlign = "right"; + this.dom.frame.style.textAlign = 'right'; + this.dom.textArea.style.textAlign = 'right'; this.dom.textArea.style.right = this.options.iconSize + 15 + 'px'; this.dom.textArea.style.left = ''; this.svg.style.right = 0 + 'px'; @@ -26027,11 +26146,11 @@ return /******/ (function(modules) { // webpackBootstrap } if (this.options[this.side].position == 'top-left' || this.options[this.side].position == 'top-right') { - this.dom.frame.style.top = 4 - Number(this.body.dom.center.style.top.replace("px", "")) + 'px'; + this.dom.frame.style.top = 4 - Number(this.body.dom.center.style.top.replace('px', '')) + 'px'; this.dom.frame.style.bottom = ''; } else { var scrollableHeight = this.body.domProps.center.height - this.body.domProps.centerContainer.height; - this.dom.frame.style.bottom = 4 + scrollableHeight + Number(this.body.dom.center.style.top.replace("px", "")) + 'px'; + this.dom.frame.style.bottom = 4 + scrollableHeight + Number(this.body.dom.center.style.top.replace('px', '')) + 'px'; this.dom.frame.style.top = ''; } @@ -26381,39 +26500,39 @@ return /******/ (function(modules) { // webpackBootstrap var _modulesEdgesHandler2 = _interopRequireDefault(_modulesEdgesHandler); - var _modulesPhysicsEngine = __webpack_require__(88); + var _modulesPhysicsEngine = __webpack_require__(90); var _modulesPhysicsEngine2 = _interopRequireDefault(_modulesPhysicsEngine); - var _modulesClustering = __webpack_require__(97); + var _modulesClustering = __webpack_require__(99); var _modulesClustering2 = _interopRequireDefault(_modulesClustering); - var _modulesCanvasRenderer = __webpack_require__(99); + var _modulesCanvasRenderer = __webpack_require__(101); var _modulesCanvasRenderer2 = _interopRequireDefault(_modulesCanvasRenderer); - var _modulesCanvas = __webpack_require__(100); + var _modulesCanvas = __webpack_require__(102); var _modulesCanvas2 = _interopRequireDefault(_modulesCanvas); - var _modulesView = __webpack_require__(101); + var _modulesView = __webpack_require__(103); var _modulesView2 = _interopRequireDefault(_modulesView); - var _modulesInteractionHandler = __webpack_require__(102); + var _modulesInteractionHandler = __webpack_require__(104); var _modulesInteractionHandler2 = _interopRequireDefault(_modulesInteractionHandler); - var _modulesSelectionHandler = __webpack_require__(105); + var _modulesSelectionHandler = __webpack_require__(107); var _modulesSelectionHandler2 = _interopRequireDefault(_modulesSelectionHandler); - var _modulesLayoutEngine = __webpack_require__(106); + var _modulesLayoutEngine = __webpack_require__(108); var _modulesLayoutEngine2 = _interopRequireDefault(_modulesLayoutEngine); - var _modulesManipulationSystem = __webpack_require__(107); + var _modulesManipulationSystem = __webpack_require__(109); var _modulesManipulationSystem2 = _interopRequireDefault(_modulesManipulationSystem); @@ -26425,7 +26544,20 @@ return /******/ (function(modules) { // webpackBootstrap var _sharedValidator2 = _interopRequireDefault(_sharedValidator); - var _optionsJs = __webpack_require__(108); + var _optionsJs = __webpack_require__(110); + + __webpack_require__(111); + + var Emitter = __webpack_require__(19); + var Hammer = __webpack_require__(3); + var util = __webpack_require__(7); + var DataSet = __webpack_require__(14); + var DataView = __webpack_require__(16); + var dotparser = __webpack_require__(112); + var gephiParser = __webpack_require__(113); + var Images = __webpack_require__(114); + var Activator = __webpack_require__(40); + var locales = __webpack_require__(115); /** * @constructor Network @@ -26438,19 +26570,6 @@ return /******/ (function(modules) { // webpackBootstrap * {Array} edges * @param {Object} options Options */ - __webpack_require__(109); - - var Emitter = __webpack_require__(19); - var Hammer = __webpack_require__(3); - var util = __webpack_require__(7); - var DataSet = __webpack_require__(14); - var DataView = __webpack_require__(16); - var dotparser = __webpack_require__(110); - var gephiParser = __webpack_require__(111); - var Images = __webpack_require__(112); - var Activator = __webpack_require__(40); - var locales = __webpack_require__(113); - function Network(container, data, options) { var _this = this; @@ -26514,7 +26633,7 @@ return /******/ (function(modules) { // webpackBootstrap // setting up all modules this.images = new Images(function () { - return _this.body.emitter.emit("_requestRedraw"); + return _this.body.emitter.emit('_requestRedraw'); }); // object with images this.groups = new _modulesGroups2['default'](); // object with groups this.canvas = new _modulesCanvas2['default'](this.body); // DOM handler @@ -26579,7 +26698,7 @@ return /******/ (function(modules) { // webpackBootstrap // reload the settings of the nodes to apply changes in groups that are not referenced by pointer. if (options.groups !== undefined) { - this.body.emitter.emit("refreshNodes"); + this.body.emitter.emit('refreshNodes'); } // these two do not have options at the moment, here for completeness //this.view.setOptions(options.view); @@ -26620,7 +26739,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this.activator === undefined) { this.activator = new Activator(this.canvas.frame); this.activator.on('change', function () { - _this2.body.emitter.emit("activate"); + _this2.body.emitter.emit('activate'); }); } } else { @@ -26628,15 +26747,15 @@ return /******/ (function(modules) { // webpackBootstrap this.activator.destroy(); delete this.activator; } - this.body.emitter.emit("activate"); + this.body.emitter.emit('activate'); } } else { - this.body.emitter.emit("activate"); + this.body.emitter.emit('activate'); } this.canvas.setSize(); // start the physics simulation. Can be safely called multiple times. - this.body.emitter.emit("startSimulation"); + this.body.emitter.emit('startSimulation'); } }; @@ -26674,23 +26793,23 @@ return /******/ (function(modules) { // webpackBootstrap var _this3 = this; // this event will trigger a rebuilding of the cache everything. Used when nodes or edges have been added or removed. - this.body.emitter.on("_dataChanged", function () { + this.body.emitter.on('_dataChanged', function () { // update shortcut lists _this3._updateVisibleIndices(); _this3.physics.updatePhysicsData(); - _this3.body.emitter.emit("_requestRedraw"); + _this3.body.emitter.emit('_requestRedraw'); // call the dataUpdated event because the only difference between the two is the updating of the indices - _this3.body.emitter.emit("_dataUpdated"); + _this3.body.emitter.emit('_dataUpdated'); }); // this is called when options of EXISTING nodes or edges have changed. - this.body.emitter.on("_dataUpdated", function () { + this.body.emitter.on('_dataUpdated', function () { // update values _this3._updateValueRange(_this3.body.nodes); _this3._updateValueRange(_this3.body.edges); // start simulation (can be called safely, even if already running) - _this3.body.emitter.emit("startSimulation"); - _this3.body.emitter.emit("_requestRedraw"); + _this3.body.emitter.emit('startSimulation'); + _this3.body.emitter.emit('_requestRedraw'); }); }; @@ -26706,8 +26825,8 @@ return /******/ (function(modules) { // webpackBootstrap */ Network.prototype.setData = function (data) { // reset the physics engine. - this.body.emitter.emit("resetPhysics"); - this.body.emitter.emit("_resetData"); + this.body.emitter.emit('resetPhysics'); + this.body.emitter.emit('_resetData'); // unselect all to ensure no selections from old data are carried over. this.selectionHandler.unselectAll(); @@ -26737,10 +26856,10 @@ return /******/ (function(modules) { // webpackBootstrap } // emit change in data - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); // find a stable position or start animating to a stable position - this.body.emitter.emit("initPhysics"); + this.body.emitter.emit('initPhysics'); }; /** @@ -26750,7 +26869,7 @@ return /******/ (function(modules) { // webpackBootstrap * network = null; */ Network.prototype.destroy = function () { - this.body.emitter.emit("destroy"); + this.body.emitter.emit('destroy'); // clear events this.body.emitter.off(); this.off(); @@ -26875,7 +26994,7 @@ return /******/ (function(modules) { // webpackBootstrap return this.manipulation.editNode.apply(this.manipulation, arguments); }; Network.prototype.editNodeMode = function () { - console.log("Depricated: Please use editNode instead of editNodeMode.");return this.manipulation.editNode.apply(this.manipulation, arguments); + console.log('Depricated: Please use editNode instead of editNodeMode.');return this.manipulation.editNode.apply(this.manipulation, arguments); }; Network.prototype.addEdgeMode = function () { return this.manipulation.addEdgeMode.apply(this.manipulation, arguments); @@ -26892,6 +27011,9 @@ return /******/ (function(modules) { // webpackBootstrap Network.prototype.storePositions = function () { return this.nodesHandler.storePositions.apply(this.nodesHandler, arguments); }; + Network.prototype.moveNode = function () { + return this.nodesHandler.moveNode.apply(this.nodesHandler, arguments); + }; Network.prototype.getBoundingBox = function () { return this.nodesHandler.getBoundingBox.apply(this.nodesHandler, arguments); }; @@ -27042,7 +27164,7 @@ return /******/ (function(modules) { // webpackBootstrap _createClass(Groups, [{ key: "setOptions", value: function setOptions(options) { - var optionFields = ['useDefaultGroups']; + var optionFields = ["useDefaultGroups"]; if (options !== undefined) { for (var groupName in options) { @@ -27055,16 +27177,18 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "clear", /** * Clear all groups */ - }, { - key: "clear", value: function clear() { this.groups = {}; this.groupsArray = []; } + }, { + key: "get", /** * get group options of a groupname. If groupname is not found, a new group @@ -27072,8 +27196,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {*} groupname Can be a number, string, Date, etc. * @return {Object} group The created group, containing all group options */ - }, { - key: "get", value: function get(groupname) { var group = this.groups[groupname]; if (group === undefined) { @@ -27096,6 +27218,8 @@ return /******/ (function(modules) { // webpackBootstrap return group; } + }, { + key: "add", /** * Add a custom group style @@ -27104,8 +27228,6 @@ return /******/ (function(modules) { // webpackBootstrap * backgroundColor, etc. * @return {Object} group The created group object */ - }, { - key: "add", value: function add(groupName, style) { this.groups[groupName] = style; this.groupsArray.push(groupName); @@ -27244,9 +27366,9 @@ return /******/ (function(modules) { // webpackBootstrap }, shape: 'ellipse', shapeProperties: { - borderDashes: false, - borderRadius: 6, - useImageSize: false + borderDashes: false, // only for borders + borderRadius: 6, // only for box shape + useImageSize: false // only for image and circularImage shapes }, size: 25, title: undefined, @@ -27316,14 +27438,14 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'setData', /** * Set a data set with nodes for the network * @param {Array | DataSet | DataView} nodes The data containing the nodes. * @private */ - }, { - key: 'setData', value: function setData(nodes) { var _this3 = this; @@ -27367,17 +27489,17 @@ return /******/ (function(modules) { // webpackBootstrap } if (doNotEmit === false) { - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } } + }, { + key: 'add', /** * Add nodes * @param {Number[] | String[]} ids * @private */ - }, { - key: 'add', value: function add(ids) { var doNotEmit = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; @@ -27394,17 +27516,17 @@ return /******/ (function(modules) { // webpackBootstrap this.layoutEngine.positionInitially(newNodes); if (doNotEmit === false) { - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } } + }, { + key: 'update', /** * Update existing nodes, or create them when not yet existing * @param {Number[] | String[]} ids * @private */ - }, { - key: 'update', value: function update(ids, changedData) { var nodes = this.body.nodes; var dataChanged = false; @@ -27423,37 +27545,38 @@ return /******/ (function(modules) { // webpackBootstrap } } if (dataChanged === true) { - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } else { - this.body.emitter.emit("_dataUpdated"); + this.body.emitter.emit('_dataUpdated'); } } + }, { + key: 'remove', /** * Remove existing nodes. If nodes do not exist, the method will just ignore it. * @param {Number[] | String[]} ids * @private */ - }, { - key: 'remove', value: function remove(ids) { var nodes = this.body.nodes; for (var i = 0; i < ids.length; i++) { var id = ids[i]; + nodes[id].cleanup(); delete nodes[id]; } - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } + }, { + key: 'create', /** * create a node * @param properties * @param constructorClass */ - }, { - key: 'create', value: function create(properties) { var constructorClass = arguments.length <= 1 || arguments[1] === undefined ? _componentsNode2['default'] : arguments[1]; @@ -27480,14 +27603,14 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'getPositions', /** * Returns the positions of the nodes. * @param ids --> optional, can be array of nodeIds, can be string * @returns {{}} */ - }, { - key: 'getPositions', value: function getPositions(ids) { var dataArray = {}; if (ids !== undefined) { @@ -27514,12 +27637,12 @@ return /******/ (function(modules) { // webpackBootstrap } return dataArray; } + }, { + key: 'storePositions', /** * Load the XY positions of the nodes into the dataset. */ - }, { - key: 'storePositions', value: function storePositions() { // todo: add support for clusters and hierarchical. var dataArray = []; @@ -27535,27 +27658,27 @@ return /******/ (function(modules) { // webpackBootstrap } dataset.update(dataArray); } + }, { + key: 'getBoundingBox', /** * get the bounding box of a node. * @param nodeId * @returns {j|*} */ - }, { - key: 'getBoundingBox', value: function getBoundingBox(nodeId) { if (this.body.nodes[nodeId] !== undefined) { return this.body.nodes[nodeId].shape.boundingBox; } } + }, { + key: 'getConnectedNodes', /** * Get the Ids of nodes connected to this node. * @param nodeId * @returns {Array} */ - }, { - key: 'getConnectedNodes', value: function getConnectedNodes(nodeId) { var nodeList = []; if (this.body.nodes[nodeId] !== undefined) { @@ -27580,14 +27703,14 @@ return /******/ (function(modules) { // webpackBootstrap } return nodeList; } + }, { + key: 'getConnectedEdges', /** * Get the ids of the edges connected to this node. * @param nodeId * @returns {*} */ - }, { - key: 'getConnectedEdges', value: function getConnectedEdges(nodeId) { var edgeList = []; if (this.body.nodes[nodeId] !== undefined) { @@ -27596,10 +27719,32 @@ return /******/ (function(modules) { // webpackBootstrap edgeList.push(node.edges[i].id); } } else { - console.log("NodeId provided for getConnectedEdges does not exist. Provided: ", nodeId); + console.log('NodeId provided for getConnectedEdges does not exist. Provided: ', nodeId); } return edgeList; } + }, { + key: 'moveNode', + + /** + * Move a node. + * @param String nodeId + * @param Number x + * @param Number y + */ + value: function moveNode(nodeId, x, y) { + var _this4 = this; + + if (this.body.nodes[nodeId] !== undefined) { + this.body.nodes[nodeId].x = Number(x); + this.body.nodes[nodeId].y = Number(y); + setTimeout(function () { + _this4.body.emitter.emit('startSimulation'); + }, 0); + } else { + console.log('Node id supplied to moveNode does not exist. Provided: ', nodeId); + } + } }]); return NodesHandler; @@ -27743,50 +27888,41 @@ return /******/ (function(modules) { // webpackBootstrap this.setOptions(options); } - /** - * Attach a edge to the node - * @param {Edge} edge - */ - _createClass(Node, [{ key: 'attachEdge', + + /** + * Attach a edge to the node + * @param {Edge} edge + */ value: function attachEdge(edge) { if (this.edges.indexOf(edge) === -1) { this.edges.push(edge); } } + }, { + key: 'detachEdge', /** * Detach a edge from the node * @param {Edge} edge */ - }, { - key: 'detachEdge', value: function detachEdge(edge) { var index = this.edges.indexOf(edge); if (index != -1) { this.edges.splice(index, 1); } } - - /** - * Enable or disable the physics. - * @param status - */ }, { - key: 'togglePhysics', - value: function togglePhysics(status) { - this.options.physics = status; - } + key: 'setOptions', /** * Set or overwrite options for the node * @param {Object} options an object with options * @param {Object} constants and object with default, global options */ - }, { - key: 'setOptions', value: function setOptions(options) { + var currentShape = this.options.shape; if (!options) { return; } @@ -27796,7 +27932,7 @@ return /******/ (function(modules) { // webpackBootstrap } if (this.id === undefined) { - throw "Node must have an id"; + throw 'Node must have an id'; } // set these options locally @@ -27838,28 +27974,18 @@ return /******/ (function(modules) { // webpackBootstrap if (this.imagelist) { this.imageObj = this.imagelist.load(this.options.image, this.options.brokenImage, this.id); } else { - throw "No imagelist provided"; + throw 'No imagelist provided'; } } - this.updateShape(); + this.updateShape(currentShape); this.updateLabelModule(); - // reset the size of the node, this can be changed - this._reset(); - if (options.hidden !== undefined || options.physics !== undefined) { return true; } return false; } - - /** - * This process all possible shorthands in the new options and makes sure that the parentOptions are fully defined. - * Static so it can also be used by the handler. - * @param parentOptions - * @param newOptions - */ }, { key: 'updateLabelModule', value: function updateLabelModule() { @@ -27873,99 +27999,109 @@ return /******/ (function(modules) { // webpackBootstrap } }, { key: 'updateShape', - value: function updateShape() { - // choose draw method depending on the shape - switch (this.options.shape) { - case 'box': - this.shape = new _nodesShapesBox2['default'](this.options, this.body, this.labelModule); - break; - case 'circle': - this.shape = new _nodesShapesCircle2['default'](this.options, this.body, this.labelModule); - break; - case 'circularImage': - this.shape = new _nodesShapesCircularImage2['default'](this.options, this.body, this.labelModule, this.imageObj); - break; - case 'database': - this.shape = new _nodesShapesDatabase2['default'](this.options, this.body, this.labelModule); - break; - case 'diamond': - this.shape = new _nodesShapesDiamond2['default'](this.options, this.body, this.labelModule); - break; - case 'dot': - this.shape = new _nodesShapesDot2['default'](this.options, this.body, this.labelModule); - break; - case 'ellipse': - this.shape = new _nodesShapesEllipse2['default'](this.options, this.body, this.labelModule); - break; - case 'icon': - this.shape = new _nodesShapesIcon2['default'](this.options, this.body, this.labelModule); - break; - case 'image': - this.shape = new _nodesShapesImage2['default'](this.options, this.body, this.labelModule, this.imageObj); - break; - case 'square': - this.shape = new _nodesShapesSquare2['default'](this.options, this.body, this.labelModule); - break; - case 'star': - this.shape = new _nodesShapesStar2['default'](this.options, this.body, this.labelModule); - break; - case 'text': - this.shape = new _nodesShapesText2['default'](this.options, this.body, this.labelModule); - break; - case 'triangle': - this.shape = new _nodesShapesTriangle2['default'](this.options, this.body, this.labelModule); - break; - case 'triangleDown': - this.shape = new _nodesShapesTriangleDown2['default'](this.options, this.body, this.labelModule); - break; - default: - this.shape = new _nodesShapesEllipse2['default'](this.options, this.body, this.labelModule); - break; + value: function updateShape(currentShape) { + if (currentShape === this.options.shape && this.shape) { + this.shape.setOptions(this.options); + } else { + // clean up the shape if it is already made so the new shape can start clean. + if (this.shape) { + this.shape.cleanup(); + } + // choose draw method depending on the shape + switch (this.options.shape) { + case 'box': + this.shape = new _nodesShapesBox2['default'](this.options, this.body, this.labelModule); + break; + case 'circle': + this.shape = new _nodesShapesCircle2['default'](this.options, this.body, this.labelModule); + break; + case 'circularImage': + this.shape = new _nodesShapesCircularImage2['default'](this.options, this.body, this.labelModule, this.imageObj); + break; + case 'database': + this.shape = new _nodesShapesDatabase2['default'](this.options, this.body, this.labelModule); + break; + case 'diamond': + this.shape = new _nodesShapesDiamond2['default'](this.options, this.body, this.labelModule); + break; + case 'dot': + this.shape = new _nodesShapesDot2['default'](this.options, this.body, this.labelModule); + break; + case 'ellipse': + this.shape = new _nodesShapesEllipse2['default'](this.options, this.body, this.labelModule); + break; + case 'icon': + this.shape = new _nodesShapesIcon2['default'](this.options, this.body, this.labelModule); + break; + case 'image': + this.shape = new _nodesShapesImage2['default'](this.options, this.body, this.labelModule, this.imageObj); + break; + case 'square': + this.shape = new _nodesShapesSquare2['default'](this.options, this.body, this.labelModule); + break; + case 'star': + this.shape = new _nodesShapesStar2['default'](this.options, this.body, this.labelModule); + break; + case 'text': + this.shape = new _nodesShapesText2['default'](this.options, this.body, this.labelModule); + break; + case 'triangle': + this.shape = new _nodesShapesTriangle2['default'](this.options, this.body, this.labelModule); + break; + case 'triangleDown': + this.shape = new _nodesShapesTriangleDown2['default'](this.options, this.body, this.labelModule); + break; + default: + this.shape = new _nodesShapesEllipse2['default'](this.options, this.body, this.labelModule); + break; + } } this._reset(); } + }, { + key: 'select', /** * select this node */ - }, { - key: 'select', value: function select() { this.selected = true; this._reset(); } + }, { + key: 'unselect', /** * unselect this node */ - }, { - key: 'unselect', value: function unselect() { this.selected = false; this._reset(); } + }, { + key: '_reset', /** * Reset the calculated size of the node, forces it to recalculate its size * @private */ - }, { - key: '_reset', value: function _reset() { this.shape.width = undefined; this.shape.height = undefined; } + }, { + key: 'getTitle', /** * get the title of this node. * @return {string} title The title of the node, or undefined when no title * has been set. */ - }, { - key: 'getTitle', value: function getTitle() { return this.options.title; } + }, { + key: 'distanceToBorder', /** * Calculate the distance to the border of the Node @@ -27973,41 +28109,41 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Number} angle Angle in radians * @returns {number} distance Distance to the border in pixels */ - }, { - key: 'distanceToBorder', value: function distanceToBorder(ctx, angle) { return this.shape.distanceToBorder(ctx, angle); } + }, { + key: 'isFixed', /** * Check if this node has a fixed x and y position * @return {boolean} true if fixed, false if not */ - }, { - key: 'isFixed', value: function isFixed() { return this.options.fixed.x && this.options.fixed.y; } + }, { + key: 'isSelected', /** * check if this node is selecte * @return {boolean} selected True if node is selected, else false */ - }, { - key: 'isSelected', value: function isSelected() { return this.selected; } + }, { + key: 'getValue', /** * Retrieve the value of the node. Can be undefined * @return {Number} value */ - }, { - key: 'getValue', value: function getValue() { return this.options.value; } + }, { + key: 'setValueRange', /** * Adjust the value range of the node. The node will adjust it's size @@ -28015,8 +28151,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Number} min * @param {Number} max */ - }, { - key: 'setValueRange', value: function setValueRange(min, max, total) { if (this.options.value !== undefined) { var scale = this.options.scaling.customScalingFunction(min, max, total, this.options.value); @@ -28031,61 +28165,78 @@ return /******/ (function(modules) { // webpackBootstrap this.options.font.size = this.baseFontSize; } } + }, { + key: 'draw', /** * Draw this node in the given canvas * The 2d context of a HTML canvas can be retrieved by canvas.getContext("2d"); * @param {CanvasRenderingContext2D} ctx */ - }, { - key: 'draw', value: function draw(ctx) { this.shape.draw(ctx, this.x, this.y, this.selected, this.hover); } + }, { + key: 'updateBoundingBox', /** * Update the bounding box of the shape */ - }, { - key: 'updateBoundingBox', value: function updateBoundingBox(ctx) { this.shape.updateBoundingBox(this.x, this.y, ctx); } + }, { + key: 'resize', /** * Recalculate the size of this node in the given canvas * The 2d context of a HTML canvas can be retrieved by canvas.getContext("2d"); * @param {CanvasRenderingContext2D} ctx */ - }, { - key: 'resize', value: function resize(ctx) { this.shape.resize(ctx, this.selected); } + }, { + key: 'isOverlappingWith', /** * Check if this object is overlapping with the provided object * @param {Object} obj an object with parameters left, top, right, bottom * @return {boolean} True if location is located on node */ - }, { - key: 'isOverlappingWith', value: function isOverlappingWith(obj) { return this.shape.left < obj.right && this.shape.left + this.shape.width > obj.left && this.shape.top < obj.bottom && this.shape.top + this.shape.height > obj.top; } + }, { + key: 'isBoundingBoxOverlappingWith', /** * Check if this object is overlapping with the provided object * @param {Object} obj an object with parameters left, top, right, bottom * @return {boolean} True if location is located on node */ - }, { - key: 'isBoundingBoxOverlappingWith', value: function isBoundingBoxOverlappingWith(obj) { return this.shape.boundingBox.left < obj.right && this.shape.boundingBox.right > obj.left && this.shape.boundingBox.top < obj.bottom && this.shape.boundingBox.bottom > obj.top; } + }, { + key: 'cleanup', + + /** + * clean all required things on delete. + * @returns {*} + */ + value: function cleanup() { + return this.shape.cleanup(); + } }], [{ key: 'parseOptions', + + /** + * This process all possible shorthands in the new options and makes sure that the parentOptions are fully defined. + * Static so it can also be used by the handler. + * @param parentOptions + * @param newOptions + */ value: function parseOptions(parentOptions, newOptions) { var allowDeletion = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; @@ -28218,16 +28369,16 @@ return /******/ (function(modules) { // webpackBootstrap // draw text this._drawText(ctx, selected, x, y, baseline); } + }, { + key: '_drawBackground', /** * Draws the label background * @param {CanvasRenderingContext2D} ctx * @private */ - }, { - key: '_drawBackground', value: function _drawBackground(ctx) { - if (this.options.font.background !== undefined && this.options.font.background !== "none") { + if (this.options.font.background !== undefined && this.options.font.background !== 'none') { ctx.fillStyle = this.options.font.background; var lineMargin = 2; @@ -28248,6 +28399,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_drawText', /** * @@ -28256,8 +28409,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param baseline * @private */ - }, { - key: '_drawText', value: function _drawText(ctx, selected, x, y) { var baseline = arguments.length <= 4 || arguments[4] === undefined ? 'middle' : arguments[4]; @@ -28277,15 +28428,15 @@ return /******/ (function(modules) { // webpackBootstrap var fontColor = _getColor22[0]; var strokeColor = _getColor22[1]; - // configure context for drawing the text - var _setAlignment2 = this._setAlignment(ctx, x, yLine, baseline); var _setAlignment22 = _slicedToArray(_setAlignment2, 2); x = _setAlignment22[0]; yLine = _setAlignment22[1]; - ctx.font = (selected && this.options.labelHighlightBold ? 'bold ' : '') + fontSize + "px " + this.options.font.face; + + // configure context for drawing the text + ctx.font = (selected && this.options.labelHighlightBold ? 'bold ' : '') + fontSize + 'px ' + this.options.font.face; ctx.fillStyle = fontColor; ctx.textAlign = 'center'; @@ -28319,17 +28470,19 @@ return /******/ (function(modules) { // webpackBootstrap ctx.textBaseline = 'alphabetic'; yLine -= 2 * lineMargin; // distance from edge, required because we use alphabetic. Alphabetic has less difference between browsers } else if (this.options.font.align === 'bottom') { - ctx.textBaseline = 'hanging'; - yLine += 2 * lineMargin; // distance from edge, required because we use hanging. Hanging has less difference between browsers - } else { - ctx.textBaseline = 'middle'; - } + ctx.textBaseline = 'hanging'; + yLine += 2 * lineMargin; // distance from edge, required because we use hanging. Hanging has less difference between browsers + } else { + ctx.textBaseline = 'middle'; + } } else { ctx.textBaseline = baseline; } return [x, yLine]; } + }, { + key: '_getColor', /** * fade in when relative scale is between threshold and threshold - 1. @@ -28339,8 +28492,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*[]} * @private */ - }, { - key: '_getColor', value: function _getColor(viewFontSize) { var fontColor = this.options.font.color || '#000000'; var strokeColor = this.options.font.strokeColor || '#ffffff'; @@ -28351,6 +28502,8 @@ return /******/ (function(modules) { // webpackBootstrap } return [fontColor, strokeColor]; } + }, { + key: 'getTextSize', /** * @@ -28358,8 +28511,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param selected * @returns {{width: number, height: number}} */ - }, { - key: 'getTextSize', value: function getTextSize(ctx) { var selected = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; @@ -28370,6 +28521,8 @@ return /******/ (function(modules) { // webpackBootstrap }; return size; } + }, { + key: 'calculateLabelSize', /** * @@ -28379,8 +28532,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param y * @param baseline */ - }, { - key: 'calculateLabelSize', value: function calculateLabelSize(ctx, selected) { var x = arguments.length <= 2 || arguments[2] === undefined ? 0 : arguments[2]; var y = arguments.length <= 3 || arguments[3] === undefined ? 0 : arguments[3]; @@ -28393,7 +28544,7 @@ return /******/ (function(modules) { // webpackBootstrap this.size.left = x - this.size.width * 0.5; this.size.top = y - this.size.height * 0.5; this.size.yLine = y + (1 - this.lineCount) * 0.5 * this.options.font.size; - if (baseline === "hanging") { + if (baseline === 'hanging') { this.size.top += 0.5 * this.options.font.size; this.size.top += 4; // distance from node, required because we use hanging. Hanging has less difference between browsers this.size.yLine += 4; // distance from node @@ -28401,6 +28552,8 @@ return /******/ (function(modules) { // webpackBootstrap this.labelDirty = false; } + }, { + key: '_processLabel', /** * This calculates the width as well as explodes the label string and calculates the amount of lines. @@ -28409,8 +28562,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: '_processLabel', value: function _processLabel(ctx, selected) { var width = 0; var lines = ['']; @@ -28418,7 +28569,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this.options.label !== undefined) { lines = String(this.options.label).split('\n'); lineCount = lines.length; - ctx.font = (selected && this.options.labelHighlightBold ? 'bold ' : '') + this.options.font.size + "px " + this.options.font.face; + ctx.font = (selected && this.options.labelHighlightBold ? 'bold ' : '') + this.options.font.size + 'px ' + this.options.font.face; width = ctx.measureText(lines[0]).width; for (var i = 1; i < lineCount; i++) { var lineWidth = ctx.measureText(lines[i]).width; @@ -28436,8 +28587,8 @@ return /******/ (function(modules) { // webpackBootstrap var allowDeletion = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; if (typeof newOptions.font === 'string') { - var newOptionsArray = newOptions.font.split(" "); - parentOptions.size = newOptionsArray[0].replace("px", ''); + var newOptionsArray = newOptions.font.split(' '); + parentOptions.size = newOptionsArray[0].replace('px', ''); parentOptions.face = newOptionsArray[1]; parentOptions.color = newOptionsArray[2]; } else if (typeof newOptions.font === 'object') { @@ -28514,7 +28665,7 @@ return /******/ (function(modules) { // webpackBootstrap ctx.fillStyle = selected ? this.options.color.highlight.background : hover ? this.options.color.hover.background : this.options.color.background; - var borderRadius = this.options.shapeProperties.borderRadius; + var borderRadius = this.options.shapeProperties.borderRadius; // only effective for box ctx.roundRect(this.left, this.top, this.width, this.height, borderRadius); // draw shadow if enabled @@ -28636,7 +28787,7 @@ return /******/ (function(modules) { // webpackBootstrap } ctx.setLineDash(dashes); } else { - console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."); + console.warn('setLineDash is not supported in this browser. The dashed borders cannot be used.'); this.options.shapeProperties.borderDashes = false; } } @@ -28648,11 +28799,16 @@ return /******/ (function(modules) { // webpackBootstrap if (ctx.setLineDash !== undefined) { ctx.setLineDash([0]); } else { - console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."); + console.warn('setLineDash is not supported in this browser. The dashed borders cannot be used.'); this.options.shapeProperties.borderDashes = false; } } } + }, { + key: 'cleanup', + + // possible cleanup for use in shapes + value: function cleanup() {} }]); return NodeBase; @@ -28786,15 +28942,15 @@ return /******/ (function(modules) { // webpackBootstrap this.imageLoaded = false; } - /** - * This function resizes the image by the options size when the image has not yet loaded. If the image has loaded, we - * force the update of the size again. - * - * @private - */ - _createClass(CircleImageBase, [{ key: '_resizeImage', + + /** + * This function resizes the image by the options size when the image has not yet loaded. If the image has loaded, we + * force the update of the size again. + * + * @private + */ value: function _resizeImage() { var force = false; if (!this.imageObj.width || !this.imageObj.height) { @@ -29552,12 +29708,12 @@ return /******/ (function(modules) { // webpackBootstrap var iconSize = Number(this.options.icon.size); if (this.options.icon.code !== undefined) { - ctx.font = (selected ? "bold " : "") + iconSize + "px " + this.options.icon.face; + ctx.font = (selected ? 'bold ' : '') + iconSize + 'px ' + this.options.icon.face; // draw icon - ctx.fillStyle = this.options.icon.color || "black"; - ctx.textAlign = "center"; - ctx.textBaseline = "middle"; + ctx.fillStyle = this.options.icon.color || 'black'; + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; // draw shadow if enabled this.enableShadow(ctx); @@ -30095,7 +30251,8 @@ return /******/ (function(modules) { // webpackBootstrap }, smooth: { enabled: true, - type: "dynamic", + type: 'dynamic', + forceDirection: 'none', roundness: 0.5 }, title: undefined, @@ -30114,7 +30271,7 @@ return /******/ (function(modules) { // webpackBootstrap var _this2 = this; // this allows external modules to force all dynamic curves to turn static. - this.body.emitter.on("_forceDisableDynamicCurves", function (type) { + this.body.emitter.on('_forceDisableDynamicCurves', function (type) { if (type === 'dynamic') { type = 'continuous'; } @@ -30142,20 +30299,20 @@ return /******/ (function(modules) { // webpackBootstrap } } if (emitChange === true) { - _this2.body.emitter.emit("_dataChanged"); + _this2.body.emitter.emit('_dataChanged'); } }); // this is called when options of EXISTING nodes or edges have changed. - this.body.emitter.on("_dataUpdated", function () { + this.body.emitter.on('_dataUpdated', function () { _this2.reconnectEdges(); _this2.markAllEdgesAsDirty(); }); // refresh the edges. Used when reverting from hierarchical layout - this.body.emitter.on("refreshEdges", this.refresh.bind(this)); - this.body.emitter.on("refresh", this.refresh.bind(this)); - this.body.emitter.on("destroy", function () { + this.body.emitter.on('refreshEdges', this.refresh.bind(this)); + this.body.emitter.on('refresh', this.refresh.bind(this)); + this.body.emitter.on('destroy', function () { delete _this2.body.functions.createEdge; delete _this2.edgesListeners.add; delete _this2.edgesListeners.update; @@ -30202,6 +30359,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'setData', /** * Load edges by reading the data table @@ -30209,8 +30368,6 @@ return /******/ (function(modules) { // webpackBootstrap * @private * @private */ - }, { - key: 'setData', value: function setData(edges) { var _this3 = this; @@ -30253,17 +30410,17 @@ return /******/ (function(modules) { // webpackBootstrap } if (doNotEmit === false) { - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } } + }, { + key: 'add', /** * Add edges * @param {Number[] | String[]} ids * @private */ - }, { - key: 'add', value: function add(ids) { var doNotEmit = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; @@ -30278,22 +30435,22 @@ return /******/ (function(modules) { // webpackBootstrap oldEdge.disconnect(); } - var data = edgesData.get(id, { "showInternalIds": true }); + var data = edgesData.get(id, { 'showInternalIds': true }); edges[id] = this.create(data); } if (doNotEmit === false) { - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } } + }, { + key: 'update', /** * Update existing edges, or create them when not yet existing * @param {Number[] | String[]} ids * @private */ - }, { - key: 'update', value: function update(ids) { var edges = this.body.edges; var edgesData = this.body.data.edges; @@ -30315,32 +30472,32 @@ return /******/ (function(modules) { // webpackBootstrap } if (dataChanged === true) { - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } else { - this.body.emitter.emit("_dataUpdated"); + this.body.emitter.emit('_dataUpdated'); } } + }, { + key: 'remove', /** * Remove existing edges. Non existing ids will be ignored * @param {Number[] | String[]} ids * @private */ - }, { - key: 'remove', value: function remove(ids) { var edges = this.body.edges; for (var i = 0; i < ids.length; i++) { var id = ids[i]; var edge = edges[id]; if (edge !== undefined) { - edge.edgeType.cleanup(); + edge.cleanup(); edge.disconnect(); delete edges[id]; } } - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } }, { key: 'refresh', @@ -30369,13 +30526,13 @@ return /******/ (function(modules) { // webpackBootstrap this.body.edges[edgeId].edgeType.colorDirty = true; } } + }, { + key: 'reconnectEdges', /** * Reconnect all edges * @private */ - }, { - key: 'reconnectEdges', value: function reconnectEdges() { var id; var nodes = this.body.nodes; @@ -30439,15 +30596,23 @@ return /******/ (function(modules) { // webpackBootstrap var _sharedLabel2 = _interopRequireDefault(_sharedLabel); - var _edgesBezierEdgeDynamic = __webpack_require__(83); + var _edgesCubicBezierEdge = __webpack_require__(86); + + var _edgesCubicBezierEdge2 = _interopRequireDefault(_edgesCubicBezierEdge); + + var _edgesBezierEdgeDynamic = __webpack_require__(88); var _edgesBezierEdgeDynamic2 = _interopRequireDefault(_edgesBezierEdgeDynamic); - var _edgesBezierEdgeStatic = __webpack_require__(86); + var _edgesBezierEdgeStatic = __webpack_require__(83); var _edgesBezierEdgeStatic2 = _interopRequireDefault(_edgesBezierEdgeStatic); - var _edgesStraightEdge = __webpack_require__(87); + var _edgesStraightEdge = __webpack_require__(89); + + var _edgesStraightEdge2 = _interopRequireDefault(_edgesStraightEdge); + + var util = __webpack_require__(7); /** * @class Edge @@ -30465,16 +30630,12 @@ return /******/ (function(modules) { // webpackBootstrap * example for the color */ - var _edgesStraightEdge2 = _interopRequireDefault(_edgesStraightEdge); - - var util = __webpack_require__(7); - var Edge = (function () { function Edge(options, body, globalOptions) { _classCallCheck(this, Edge); if (body === undefined) { - throw "No body provided"; + throw 'No body provided'; } this.options = util.bridgeObject(globalOptions); this.body = body; @@ -30503,14 +30664,14 @@ return /******/ (function(modules) { // webpackBootstrap this.setOptions(options); } - /** - * Set or overwrite options for the edge - * @param {Object} options an object with options - * @param doNotEmit - */ - _createClass(Edge, [{ key: 'setOptions', + + /** + * Set or overwrite options for the edge + * @param {Object} options an object with options + * @param doNotEmit + */ value: function setOptions(options) { if (!options) { return; @@ -30564,29 +30725,33 @@ return /******/ (function(modules) { // webpackBootstrap this.baseFontSize = this.labelModule.baseSize; } } + }, { + key: 'updateEdgeType', /** * update the edge type, set the options * @returns {boolean} */ - }, { - key: 'updateEdgeType', value: function updateEdgeType() { var dataChanged = false; var changeInType = true; + var smooth = this.options.smooth; if (this.edgeType !== undefined) { - if (this.edgeType instanceof _edgesBezierEdgeDynamic2['default'] && this.options.smooth.enabled === true && this.options.smooth.type === 'dynamic') { + if (this.edgeType instanceof _edgesBezierEdgeDynamic2['default'] && smooth.enabled === true && smooth.type === 'dynamic') { changeInType = false; } - if (this.edgeType instanceof _edgesBezierEdgeStatic2['default'] && this.options.smooth.enabled === true && this.options.smooth.type !== 'dynamic') { + if (this.edgeType instanceof _edgesCubicBezierEdge2['default'] && smooth.enabled === true && smooth.type === 'cubicBezier') { changeInType = false; } - if (this.edgeType instanceof _edgesStraightEdge2['default'] && this.options.smooth.enabled === false) { + if (this.edgeType instanceof _edgesBezierEdgeStatic2['default'] && smooth.enabled === true && smooth.type !== 'dynamic' && smooth.type !== 'cubicBezier') { + changeInType = false; + } + if (this.edgeType instanceof _edgesStraightEdge2['default'] && smooth.enabled === false) { changeInType = false; } if (changeInType === true) { - dataChanged = this.edgeType.cleanup(); + dataChanged = this.cleanup(); } } @@ -30595,6 +30760,8 @@ return /******/ (function(modules) { // webpackBootstrap if (this.options.smooth.type === 'dynamic') { dataChanged = true; this.edgeType = new _edgesBezierEdgeDynamic2['default'](this.options, this.body, this.labelModule); + } else if (this.options.smooth.type === 'cubicBezier') { + this.edgeType = new _edgesCubicBezierEdge2['default'](this.options, this.body, this.labelModule); } else { this.edgeType = new _edgesBezierEdgeStatic2['default'](this.options, this.body, this.labelModule); } @@ -30608,23 +30775,12 @@ return /******/ (function(modules) { // webpackBootstrap return dataChanged; } - - /** - * Enable or disable the physics. - * @param status - */ }, { - key: 'togglePhysics', - value: function togglePhysics(status) { - this.options.physics = status; - this.edgeType.togglePhysics(status); - } + key: 'connect', /** * Connect an edge to its nodes */ - }, { - key: 'connect', value: function connect() { this.disconnect(); @@ -30646,12 +30802,12 @@ return /******/ (function(modules) { // webpackBootstrap this.edgeType.connect(); } + }, { + key: 'disconnect', /** * Disconnect an edge from its nodes */ - }, { - key: 'disconnect', value: function disconnect() { if (this.from) { this.from.detachEdge(this); @@ -30664,37 +30820,39 @@ return /******/ (function(modules) { // webpackBootstrap this.connected = false; } + }, { + key: 'getTitle', /** * get the title of this edge. * @return {string} title The title of the edge, or undefined when no title * has been set. */ - }, { - key: 'getTitle', value: function getTitle() { return this.title; } + }, { + key: 'isSelected', /** * check if this node is selecte * @return {boolean} selected True if node is selected, else false */ - }, { - key: 'isSelected', value: function isSelected() { return this.selected; } + }, { + key: 'getValue', /** * Retrieve the value of the edge. Can be undefined * @return {Number} value */ - }, { - key: 'getValue', value: function getValue() { return this.options.value; } + }, { + key: 'setValueRange', /** * Adjust the value range of the edge. The edge will adjust it's width @@ -30703,8 +30861,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Number} max * @param total */ - }, { - key: 'setValueRange', value: function setValueRange(min, max, total) { if (this.options.value !== undefined) { var scale = this.options.scaling.customScalingFunction(min, max, total, this.options.value); @@ -30736,6 +30892,8 @@ return /******/ (function(modules) { // webpackBootstrap this.edgeType.selectionWidth = this.options.selectionWidth + this.options.width; } } + }, { + key: 'draw', /** * Redraw a edge @@ -30743,8 +30901,6 @@ return /******/ (function(modules) { // webpackBootstrap * The 2d context of a HTML canvas can be retrieved by canvas.getContext("2d"); * @param {CanvasRenderingContext2D} ctx */ - }, { - key: 'draw', value: function draw(ctx) { var via = this.edgeType.drawLine(ctx, this.selected, this.hover); this.drawArrows(ctx, via); @@ -30777,7 +30933,7 @@ return /******/ (function(modules) { // webpackBootstrap ctx.save(); // if the label has to be rotated: - if (this.options.font.align !== "horizontal") { + if (this.options.font.align !== 'horizontal') { this.labelModule.calculateLabelSize(ctx, selected, point.x, point.y); ctx.translate(point.x, this.labelModule.size.yLine); this._rotateForLabelAlignment(ctx); @@ -30803,14 +30959,14 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'isOverlappingWith', /** * Check if this object is overlapping with the provided object * @param {Object} obj an object with parameters left, top * @return {boolean} True if location is located on the edge */ - }, { - key: 'isOverlappingWith', value: function isOverlappingWith(obj) { if (this.connected) { var distMax = 10; @@ -30828,14 +30984,14 @@ return /******/ (function(modules) { // webpackBootstrap return false; } } + }, { + key: '_rotateForLabelAlignment', /** * Rotates the canvas so the text is most readable * @param {CanvasRenderingContext2D} ctx * @private */ - }, { - key: '_rotateForLabelAlignment', value: function _rotateForLabelAlignment(ctx) { var dy = this.from.y - this.to.y; var dx = this.from.x - this.to.x; @@ -30848,6 +31004,8 @@ return /******/ (function(modules) { // webpackBootstrap ctx.rotate(angleInDegrees); } + }, { + key: '_pointOnCircle', /** * Get a point on a circle @@ -30858,8 +31016,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Object} point * @private */ - }, { - key: '_pointOnCircle', value: function _pointOnCircle(x, y, radius, percentage) { var angle = percentage * 2 * Math.PI; return { @@ -30877,6 +31033,16 @@ return /******/ (function(modules) { // webpackBootstrap value: function unselect() { this.selected = false; } + }, { + key: 'cleanup', + + /** + * cleans all required things on delete + * @returns {*} + */ + value: function cleanup() { + return this.edgeType.cleanup(); + } }], [{ key: 'parseOptions', value: function parseOptions(parentOptions, newOptions) { @@ -30915,13 +31081,13 @@ return /******/ (function(modules) { // webpackBootstrap if (newOptions.arrows !== undefined && newOptions.arrows !== null) { if (typeof newOptions.arrows === 'string') { var arrows = newOptions.arrows.toLowerCase(); - if (arrows.indexOf("to") != -1) { + if (arrows.indexOf('to') != -1) { parentOptions.arrows.to.enabled = true; } - if (arrows.indexOf("middle") != -1) { + if (arrows.indexOf('middle') != -1) { parentOptions.arrows.middle.enabled = true; } - if (arrows.indexOf("from") != -1) { + if (arrows.indexOf('from') != -1) { parentOptions.arrows.from.enabled = true; } } else if (typeof newOptions.arrows === 'object') { @@ -30929,7 +31095,7 @@ return /******/ (function(modules) { // webpackBootstrap util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'middle'); util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'from'); } else { - throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:" + JSON.stringify(newOptions.arrows)); + throw new Error('The arrow newOptions can only be an object or a string. Refer to the documentation. You used:' + JSON.stringify(newOptions.arrows)); } } else if (allowDeletion === true && newOptions.arrows === null) { parentOptions.arrows = undefined; @@ -30995,7 +31161,7 @@ return /******/ (function(modules) { // webpackBootstrap var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; + var _get = function get(_x4, _x5, _x6) { var _again = true; _function: while (_again) { var object = _x4, property = _x5, receiver = _x6; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x4 = parent; _x5 = property; _x6 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } @@ -31007,111 +31173,216 @@ return /******/ (function(modules) { // webpackBootstrap var _utilBezierEdgeBase2 = _interopRequireDefault(_utilBezierEdgeBase); - var BezierEdgeDynamic = (function (_BezierEdgeBase) { - _inherits(BezierEdgeDynamic, _BezierEdgeBase); + var BezierEdgeStatic = (function (_BezierEdgeBase) { + _inherits(BezierEdgeStatic, _BezierEdgeBase); - function BezierEdgeDynamic(options, body, labelModule) { - _classCallCheck(this, BezierEdgeDynamic); + function BezierEdgeStatic(options, body, labelModule) { + _classCallCheck(this, BezierEdgeStatic); - //this.via = undefined; // Here for completeness but not allowed to defined before super() is invoked. - _get(Object.getPrototypeOf(BezierEdgeDynamic.prototype), 'constructor', this).call(this, options, body, labelModule); // --> this calls the setOptions below + _get(Object.getPrototypeOf(BezierEdgeStatic.prototype), 'constructor', this).call(this, options, body, labelModule); } - _createClass(BezierEdgeDynamic, [{ - key: 'setOptions', - value: function setOptions(options) { - this.options = options; - this.id = this.options.id; - this.setupSupportNode(); - this.connect(); - } - }, { - key: 'connect', - value: function connect() { - this.from = this.body.nodes[this.options.from]; - this.to = this.body.nodes[this.options.to]; - if (this.from === undefined || this.to === undefined || this.options.physics === false) { - this.via.setOptions({ physics: false }); - } else { - // fix weird behaviour where a selfreferencing node has physics enabled - if (this.from.id === this.to.id) { - this.via.setOptions({ physics: false }); - } else { - this.via.setOptions({ physics: true }); - } - } - } - }, { - key: 'cleanup', - value: function cleanup() { - if (this.via !== undefined) { - delete this.body.nodes[this.via.id]; - this.via = undefined; - return true; - } - return false; - } - }, { - key: 'togglePhysics', - value: function togglePhysics(status) { - this.via.setOptions({ physics: status }); - this.positionBezierNode(); - } - - /** - * Bezier curves require an anchor point to calculate the smooth flow. These points are nodes. These nodes are invisible but - * are used for the force calculation. - * - * The changed data is not called, if needed, it is returned by the main edge constructor. - * @private - */ - }, { - key: 'setupSupportNode', - value: function setupSupportNode() { - if (this.via === undefined) { - var nodeId = "edgeId:" + this.id; - var node = this.body.functions.createNode({ - id: nodeId, - shape: 'circle', - physics: true, - hidden: true - }); - this.body.nodes[nodeId] = node; - this.via = node; - this.via.parentEdgeId = this.id; - this.positionBezierNode(); - } - } - }, { - key: 'positionBezierNode', - value: function positionBezierNode() { - if (this.via !== undefined && this.from !== undefined && this.to !== undefined) { - this.via.x = 0.5 * (this.from.x + this.to.x); - this.via.y = 0.5 * (this.from.y + this.to.y); - } else if (this.via !== undefined) { - this.via.x = 0; - this.via.y = 0; - } - } + _createClass(BezierEdgeStatic, [{ + key: '_line', /** * Draw a line between two nodes * @param {CanvasRenderingContext2D} ctx * @private */ - }, { - key: '_line', value: function _line(ctx) { // draw a straight line ctx.beginPath(); ctx.moveTo(this.from.x, this.from.y); - ctx.quadraticCurveTo(this.via.x, this.via.y, this.to.x, this.to.y); + var via = this._getViaCoordinates(); + var returnValue = via; + + // fallback to normal straight edges + if (via.x === undefined) { + ctx.lineTo(this.to.x, this.to.y); + returnValue = undefined; + } else { + ctx.quadraticCurveTo(via.x, via.y, this.to.x, this.to.y); + } // draw shadow if enabled this.enableShadow(ctx); ctx.stroke(); this.disableShadow(ctx); - return this.via; + return returnValue; + } + }, { + key: '_getViaCoordinates', + value: function _getViaCoordinates() { + var xVia = undefined; + var yVia = undefined; + var factor = this.options.smooth.roundness; + var type = this.options.smooth.type; + var dx = Math.abs(this.from.x - this.to.x); + var dy = Math.abs(this.from.y - this.to.y); + if (type === 'discrete' || type === 'diagonalCross') { + if (Math.abs(this.from.x - this.to.x) <= Math.abs(this.from.y - this.to.y)) { + if (this.from.y >= this.to.y) { + if (this.from.x <= this.to.x) { + xVia = this.from.x + factor * dy; + yVia = this.from.y - factor * dy; + } else if (this.from.x > this.to.x) { + xVia = this.from.x - factor * dy; + yVia = this.from.y - factor * dy; + } + } else if (this.from.y < this.to.y) { + if (this.from.x <= this.to.x) { + xVia = this.from.x + factor * dy; + yVia = this.from.y + factor * dy; + } else if (this.from.x > this.to.x) { + xVia = this.from.x - factor * dy; + yVia = this.from.y + factor * dy; + } + } + if (type === 'discrete') { + xVia = dx < factor * dy ? this.from.x : xVia; + } + } else if (Math.abs(this.from.x - this.to.x) > Math.abs(this.from.y - this.to.y)) { + if (this.from.y >= this.to.y) { + if (this.from.x <= this.to.x) { + xVia = this.from.x + factor * dx; + yVia = this.from.y - factor * dx; + } else if (this.from.x > this.to.x) { + xVia = this.from.x - factor * dx; + yVia = this.from.y - factor * dx; + } + } else if (this.from.y < this.to.y) { + if (this.from.x <= this.to.x) { + xVia = this.from.x + factor * dx; + yVia = this.from.y + factor * dx; + } else if (this.from.x > this.to.x) { + xVia = this.from.x - factor * dx; + yVia = this.from.y + factor * dx; + } + } + if (type === 'discrete') { + yVia = dy < factor * dx ? this.from.y : yVia; + } + } + } else if (type === 'straightCross') { + if (Math.abs(this.from.x - this.to.x) <= Math.abs(this.from.y - this.to.y)) { + // up - down + xVia = this.from.x; + if (this.from.y < this.to.y) { + yVia = this.to.y - (1 - factor) * dy; + } else { + yVia = this.to.y + (1 - factor) * dy; + } + } else if (Math.abs(this.from.x - this.to.x) > Math.abs(this.from.y - this.to.y)) { + // left - right + if (this.from.x < this.to.x) { + xVia = this.to.x - (1 - factor) * dx; + } else { + xVia = this.to.x + (1 - factor) * dx; + } + yVia = this.from.y; + } + } else if (type === 'horizontal') { + if (this.from.x < this.to.x) { + xVia = this.to.x - (1 - factor) * dx; + } else { + xVia = this.to.x + (1 - factor) * dx; + } + yVia = this.from.y; + } else if (type === 'vertical') { + xVia = this.from.x; + if (this.from.y < this.to.y) { + yVia = this.to.y - (1 - factor) * dy; + } else { + yVia = this.to.y + (1 - factor) * dy; + } + } else if (type === 'curvedCW') { + dx = this.to.x - this.from.x; + dy = this.from.y - this.to.y; + var radius = Math.sqrt(dx * dx + dy * dy); + var pi = Math.PI; + + var originalAngle = Math.atan2(dy, dx); + var myAngle = (originalAngle + (factor * 0.5 + 0.5) * pi) % (2 * pi); + + xVia = this.from.x + (factor * 0.5 + 0.5) * radius * Math.sin(myAngle); + yVia = this.from.y + (factor * 0.5 + 0.5) * radius * Math.cos(myAngle); + } else if (type === 'curvedCCW') { + dx = this.to.x - this.from.x; + dy = this.from.y - this.to.y; + var radius = Math.sqrt(dx * dx + dy * dy); + var pi = Math.PI; + + var originalAngle = Math.atan2(dy, dx); + var myAngle = (originalAngle + (-factor * 0.5 + 0.5) * pi) % (2 * pi); + + xVia = this.from.x + (factor * 0.5 + 0.5) * radius * Math.sin(myAngle); + yVia = this.from.y + (factor * 0.5 + 0.5) * radius * Math.cos(myAngle); + } else { + // continuous + if (Math.abs(this.from.x - this.to.x) <= Math.abs(this.from.y - this.to.y)) { + if (this.from.y >= this.to.y) { + if (this.from.x <= this.to.x) { + xVia = this.from.x + factor * dy; + yVia = this.from.y - factor * dy; + xVia = this.to.x < xVia ? this.to.x : xVia; + } else if (this.from.x > this.to.x) { + xVia = this.from.x - factor * dy; + yVia = this.from.y - factor * dy; + xVia = this.to.x > xVia ? this.to.x : xVia; + } + } else if (this.from.y < this.to.y) { + if (this.from.x <= this.to.x) { + xVia = this.from.x + factor * dy; + yVia = this.from.y + factor * dy; + xVia = this.to.x < xVia ? this.to.x : xVia; + } else if (this.from.x > this.to.x) { + xVia = this.from.x - factor * dy; + yVia = this.from.y + factor * dy; + xVia = this.to.x > xVia ? this.to.x : xVia; + } + } + } else if (Math.abs(this.from.x - this.to.x) > Math.abs(this.from.y - this.to.y)) { + if (this.from.y >= this.to.y) { + if (this.from.x <= this.to.x) { + xVia = this.from.x + factor * dx; + yVia = this.from.y - factor * dx; + yVia = this.to.y > yVia ? this.to.y : yVia; + } else if (this.from.x > this.to.x) { + xVia = this.from.x - factor * dx; + yVia = this.from.y - factor * dx; + yVia = this.to.y > yVia ? this.to.y : yVia; + } + } else if (this.from.y < this.to.y) { + if (this.from.x <= this.to.x) { + xVia = this.from.x + factor * dx; + yVia = this.from.y + factor * dx; + yVia = this.to.y < yVia ? this.to.y : yVia; + } else if (this.from.x > this.to.x) { + xVia = this.from.x - factor * dx; + yVia = this.from.y + factor * dx; + yVia = this.to.y < yVia ? this.to.y : yVia; + } + } + } + } + return { x: xVia, y: yVia }; + } + }, { + key: '_findBorderPosition', + value: function _findBorderPosition(nearNode, ctx) { + var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + + return this._findBorderPositionBezier(nearNode, ctx, options.via); + } + }, { + key: '_getDistanceToEdge', + value: function _getDistanceToEdge(x1, y1, x2, y2, x3, y3) { + var via = arguments.length <= 6 || arguments[6] === undefined ? this._getViaCoordinates() : arguments[6]; + // x3,y3 is the point + return this._getDistanceToBezierEdge(x1, y1, x2, y2, x3, y3, via); } + }, { + key: 'getPoint', /** * Combined function of pointOnLine and pointOnBezier. This gives the coordinates of a point on the line at a certain percentage of the way @@ -31120,32 +31391,21 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{x: number, y: number}} * @private */ - }, { - key: 'getPoint', value: function getPoint(percentage) { + var via = arguments.length <= 1 || arguments[1] === undefined ? this._getViaCoordinates() : arguments[1]; + var t = percentage; - var x = Math.pow(1 - t, 2) * this.from.x + 2 * t * (1 - t) * this.via.x + Math.pow(t, 2) * this.to.x; - var y = Math.pow(1 - t, 2) * this.from.y + 2 * t * (1 - t) * this.via.y + Math.pow(t, 2) * this.to.y; + var x = Math.pow(1 - t, 2) * this.from.x + 2 * t * (1 - t) * via.x + Math.pow(t, 2) * this.to.x; + var y = Math.pow(1 - t, 2) * this.from.y + 2 * t * (1 - t) * via.y + Math.pow(t, 2) * this.to.y; return { x: x, y: y }; } - }, { - key: '_findBorderPosition', - value: function _findBorderPosition(nearNode, ctx) { - return this._findBorderPositionBezier(nearNode, ctx, this.via); - } - }, { - key: '_getDistanceToEdge', - value: function _getDistanceToEdge(x1, y1, x2, y2, x3, y3) { - // x3,y3 is the point - return this._getDistanceToBezierEdge(x1, y1, x2, y2, x3, y3, this.via); - } }]); - return BezierEdgeDynamic; + return BezierEdgeStatic; })(_utilBezierEdgeBase2['default']); - exports['default'] = BezierEdgeDynamic; + exports['default'] = BezierEdgeStatic; module.exports = exports['default']; /***/ }, @@ -31181,22 +31441,22 @@ return /******/ (function(modules) { // webpackBootstrap _get(Object.getPrototypeOf(BezierEdgeBase.prototype), 'constructor', this).call(this, options, body, labelModule); } - /** - * This function uses binary search to look for the point where the bezier curve crosses the border of the node. - * - * @param nearNode - * @param ctx - * @param viaNode - * @param nearNode - * @param ctx - * @param viaNode - * @param nearNode - * @param ctx - * @param viaNode - */ - _createClass(BezierEdgeBase, [{ key: '_findBorderPositionBezier', + + /** + * This function uses binary search to look for the point where the bezier curve crosses the border of the node. + * + * @param nearNode + * @param ctx + * @param viaNode + * @param nearNode + * @param ctx + * @param viaNode + * @param nearNode + * @param ctx + * @param viaNode + */ value: function _findBorderPositionBezier(nearNode, ctx) { var viaNode = arguments.length <= 2 || arguments[2] === undefined ? this._getViaCoordinates() : arguments[2]; @@ -31224,19 +31484,19 @@ return /******/ (function(modules) { // webpackBootstrap if (Math.abs(difference) < threshold) { break; // found } else if (difference < 0) { - // distance to nodes is larger than distance to border --> t needs to be bigger if we're looking at the to node. - if (from === false) { - low = middle; - } else { - high = middle; - } + // distance to nodes is larger than distance to border --> t needs to be bigger if we're looking at the to node. + if (from === false) { + low = middle; } else { - if (from === false) { - high = middle; - } else { - low = middle; - } + high = middle; + } + } else { + if (from === false) { + high = middle; + } else { + low = middle; } + } iteration++; } @@ -31244,27 +31504,23 @@ return /******/ (function(modules) { // webpackBootstrap return pos; } + }, { + key: '_getDistanceToBezierEdge', /** * Calculate the distance between a point (x3,y3) and a line segment from * (x1,y1) to (x2,y2). * http://stackoverflow.com/questions/849211/shortest-distancae-between-a-point-and-a-line-segment - * @param {number} x1 - * @param {number} y1 - * @param {number} x2 - * @param {number} y2 - * @param {number} x3 - * @param {number} y3 + * @param {number} x1 from x + * @param {number} y1 from y + * @param {number} x2 to x + * @param {number} y2 to y + * @param {number} x3 point to check x + * @param {number} y3 point to check y * @private */ - }, { - key: '_getDistanceToBezierEdge', value: function _getDistanceToBezierEdge(x1, y1, x2, y2, x3, y3, via) { // x3,y3 is the point - var xVia = undefined, - yVia = undefined; - xVia = via.x; - yVia = via.y; var minDistance = 1e9; var distance = undefined; var i = undefined, @@ -31275,8 +31531,8 @@ return /******/ (function(modules) { // webpackBootstrap var lastY = y1; for (i = 1; i < 10; i++) { t = 0.1 * i; - x = Math.pow(1 - t, 2) * x1 + 2 * t * (1 - t) * xVia + Math.pow(t, 2) * x2; - y = Math.pow(1 - t, 2) * y1 + 2 * t * (1 - t) * yVia + Math.pow(t, 2) * y2; + x = Math.pow(1 - t, 2) * x1 + 2 * t * (1 - t) * via.x + Math.pow(t, 2) * x2; + y = Math.pow(1 - t, 2) * y1 + 2 * t * (1 - t) * via.y + Math.pow(t, 2) * y2; if (i > 0) { distance = this._getDistanceToLine(lastX, lastY, x, y, x3, y3); minDistance = distance < minDistance ? distance : minDistance; @@ -31345,14 +31601,8 @@ return /******/ (function(modules) { // webpackBootstrap this.to = this.body.nodes[this.options.to]; this.id = this.options.id; } - - /** - * overloadable if the shape has to toggle the via node to disabled - * @param status - */ }, { - key: 'togglePhysics', - value: function togglePhysics(status) {} + key: 'drawLine', /** * Redraw a edge as a line @@ -31361,8 +31611,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {CanvasRenderingContext2D} ctx * @private */ - }, { - key: 'drawLine', value: function drawLine(ctx, selected, hover) { // set style ctx.strokeStyle = this.getColor(ctx, selected, hover); @@ -31514,6 +31762,8 @@ return /******/ (function(modules) { // webpackBootstrap } return [x, y, radius]; } + }, { + key: '_pointOnCircle', /** * Get a point on a circle @@ -31524,8 +31774,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Object} point * @private */ - }, { - key: '_pointOnCircle', value: function _pointOnCircle(x, y, radius, percentage) { var angle = percentage * 2 * Math.PI; return { @@ -31533,6 +31781,8 @@ return /******/ (function(modules) { // webpackBootstrap y: y - radius * Math.sin(angle) }; } + }, { + key: '_findBorderPositionCircle', /** * This function uses binary search to look for the point where the circle crosses the border of the node. @@ -31542,8 +31792,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_findBorderPositionCircle', value: function _findBorderPositionCircle(node, ctx, options) { var x = options.x; var y = options.y; @@ -31573,25 +31821,27 @@ return /******/ (function(modules) { // webpackBootstrap if (Math.abs(difference) < threshold) { break; // found } else if (difference > 0) { - // distance to nodes is larger than distance to border --> t needs to be bigger if we're looking at the to node. - if (direction > 0) { - low = middle; - } else { - high = middle; - } + // distance to nodes is larger than distance to border --> t needs to be bigger if we're looking at the to node. + if (direction > 0) { + low = middle; } else { - if (direction > 0) { - high = middle; - } else { - low = middle; - } + high = middle; + } + } else { + if (direction > 0) { + high = middle; + } else { + low = middle; } + } iteration++; } pos.t = middle; return pos; } + }, { + key: 'getLineWidth', /** * Get the line width of the edge. Depends on width and whether one of the @@ -31599,8 +31849,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Number} width * @private */ - }, { - key: 'getLineWidth', value: function getLineWidth(selected, hover) { if (selected === true) { return Math.max(this.selectionWidth, 0.3 / this.body.view.scale); @@ -31641,7 +31889,7 @@ return /******/ (function(modules) { // webpackBootstrap } if (this.colorDirty === true) { - if (colorOptions.inherit === "to") { + if (colorOptions.inherit === 'to') { this.color.highlight = this.to.options.color.highlight.border; this.color.hover = this.to.options.color.hover.border; this.color.color = util.overrideOpacity(this.to.options.color.border, colorOptions.opacity); @@ -31669,6 +31917,8 @@ return /******/ (function(modules) { // webpackBootstrap return this.color.color; } } + }, { + key: '_circle', /** * Draw a line from a node to itself, a circle @@ -31678,8 +31928,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Number} radius * @private */ - }, { - key: '_circle', value: function _circle(ctx, x, y, radius) { // draw shadow if enabled this.enableShadow(ctx); @@ -31692,6 +31940,8 @@ return /******/ (function(modules) { // webpackBootstrap // disable shadows for other elements. this.disableShadow(ctx); } + }, { + key: 'getDistanceToEdge', /** * Calculate the distance between a point (x3,y3) and a line segment from @@ -31705,8 +31955,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {number} y3 * @private */ - }, { - key: 'getDistanceToEdge', value: function getDistanceToEdge(x1, y1, x2, y2, x3, y3, via) { // x3,y3 is the point var returnValue = 0; @@ -31759,6 +32007,8 @@ return /******/ (function(modules) { // webpackBootstrap return Math.sqrt(dx * dx + dy * dy); } + }, { + key: 'drawArrowHead', /** * @@ -31766,8 +32016,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param position * @param viaNode */ - }, { - key: 'drawArrowHead', value: function drawArrowHead(ctx, position, viaNode, selected, hover) { // set style ctx.strokeStyle = this.getColor(ctx, selected, hover); @@ -31901,9 +32149,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); + var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })(); + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - var _get = function get(_x4, _x5, _x6) { var _again = true; _function: while (_again) { var object = _x4, property = _x5, receiver = _x6; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x4 = parent; _x5 = property; _x6 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; + var _get = function get(_x3, _x4, _x5) { var _again = true; _function: while (_again) { var object = _x3, property = _x4, receiver = _x5; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x3 = parent; _x4 = property; _x5 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } @@ -31911,40 +32161,49 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilBezierEdgeBase = __webpack_require__(84); + var _utilCubicBezierEdgeBase = __webpack_require__(87); - var _utilBezierEdgeBase2 = _interopRequireDefault(_utilBezierEdgeBase); + var _utilCubicBezierEdgeBase2 = _interopRequireDefault(_utilCubicBezierEdgeBase); - var BezierEdgeStatic = (function (_BezierEdgeBase) { - _inherits(BezierEdgeStatic, _BezierEdgeBase); + var CubicBezierEdge = (function (_CubicBezierEdgeBase) { + _inherits(CubicBezierEdge, _CubicBezierEdgeBase); - function BezierEdgeStatic(options, body, labelModule) { - _classCallCheck(this, BezierEdgeStatic); + function CubicBezierEdge(options, body, labelModule) { + _classCallCheck(this, CubicBezierEdge); - _get(Object.getPrototypeOf(BezierEdgeStatic.prototype), 'constructor', this).call(this, options, body, labelModule); + _get(Object.getPrototypeOf(CubicBezierEdge.prototype), 'constructor', this).call(this, options, body, labelModule); } - /** - * Draw a line between two nodes - * @param {CanvasRenderingContext2D} ctx - * @private - */ - - _createClass(BezierEdgeStatic, [{ + _createClass(CubicBezierEdge, [{ key: '_line', + + /** + * Draw a line between two nodes + * @param {CanvasRenderingContext2D} ctx + * @private + */ value: function _line(ctx) { - // draw a straight line + // get the coordinates of the support points. + + var _getViaCoordinates2 = this._getViaCoordinates(); + + var _getViaCoordinates22 = _slicedToArray(_getViaCoordinates2, 2); + + var via1 = _getViaCoordinates22[0]; + var via2 = _getViaCoordinates22[1]; + + var returnValue = [via1, via2]; + + // start drawing the line. ctx.beginPath(); ctx.moveTo(this.from.x, this.from.y); - var via = this._getViaCoordinates(); - var returnValue = via; // fallback to normal straight edges - if (via.x === undefined) { + if (via1.x === undefined) { ctx.lineTo(this.to.x, this.to.y); returnValue = undefined; } else { - ctx.quadraticCurveTo(via.x, via.y, this.to.x, this.to.y); + ctx.bezierCurveTo(via1.x, via1.y, via2.x, via2.y, this.to.x, this.to.y); } // draw shadow if enabled this.enableShadow(ctx); @@ -31955,174 +32214,49 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_getViaCoordinates', value: function _getViaCoordinates() { - var xVia = undefined; - var yVia = undefined; - var factor = this.options.smooth.roundness; - var type = this.options.smooth.type; - var dx = Math.abs(this.from.x - this.to.x); - var dy = Math.abs(this.from.y - this.to.y); - if (type === 'discrete' || type === 'diagonalCross') { - if (Math.abs(this.from.x - this.to.x) <= Math.abs(this.from.y - this.to.y)) { - if (this.from.y >= this.to.y) { - if (this.from.x <= this.to.x) { - xVia = this.from.x + factor * dy; - yVia = this.from.y - factor * dy; - } else if (this.from.x > this.to.x) { - xVia = this.from.x - factor * dy; - yVia = this.from.y - factor * dy; - } - } else if (this.from.y < this.to.y) { - if (this.from.x <= this.to.x) { - xVia = this.from.x + factor * dy; - yVia = this.from.y + factor * dy; - } else if (this.from.x > this.to.x) { - xVia = this.from.x - factor * dy; - yVia = this.from.y + factor * dy; - } - } - if (type === "discrete") { - xVia = dx < factor * dy ? this.from.x : xVia; - } - } else if (Math.abs(this.from.x - this.to.x) > Math.abs(this.from.y - this.to.y)) { - if (this.from.y >= this.to.y) { - if (this.from.x <= this.to.x) { - xVia = this.from.x + factor * dx; - yVia = this.from.y - factor * dx; - } else if (this.from.x > this.to.x) { - xVia = this.from.x - factor * dx; - yVia = this.from.y - factor * dx; - } - } else if (this.from.y < this.to.y) { - if (this.from.x <= this.to.x) { - xVia = this.from.x + factor * dx; - yVia = this.from.y + factor * dx; - } else if (this.from.x > this.to.x) { - xVia = this.from.x - factor * dx; - yVia = this.from.y + factor * dx; - } - } - if (type === "discrete") { - yVia = dy < factor * dx ? this.from.y : yVia; - } - } - } else if (type === "straightCross") { - if (Math.abs(this.from.x - this.to.x) <= Math.abs(this.from.y - this.to.y)) { - // up - down - xVia = this.from.x; - if (this.from.y < this.to.y) { - yVia = this.to.y - (1 - factor) * dy; - } else { - yVia = this.to.y + (1 - factor) * dy; - } - } else if (Math.abs(this.from.x - this.to.x) > Math.abs(this.from.y - this.to.y)) { - // left - right - if (this.from.x < this.to.x) { - xVia = this.to.x - (1 - factor) * dx; - } else { - xVia = this.to.x + (1 - factor) * dx; - } - yVia = this.from.y; - } - } else if (type === 'horizontal') { - if (this.from.x < this.to.x) { - xVia = this.to.x - (1 - factor) * dx; - } else { - xVia = this.to.x + (1 - factor) * dx; - } - yVia = this.from.y; - } else if (type === 'vertical') { - xVia = this.from.x; - if (this.from.y < this.to.y) { - yVia = this.to.y - (1 - factor) * dy; - } else { - yVia = this.to.y + (1 - factor) * dy; - } - } else if (type === 'curvedCW') { - dx = this.to.x - this.from.x; - dy = this.from.y - this.to.y; - var radius = Math.sqrt(dx * dx + dy * dy); - var pi = Math.PI; - - var originalAngle = Math.atan2(dy, dx); - var myAngle = (originalAngle + (factor * 0.5 + 0.5) * pi) % (2 * pi); - - xVia = this.from.x + (factor * 0.5 + 0.5) * radius * Math.sin(myAngle); - yVia = this.from.y + (factor * 0.5 + 0.5) * radius * Math.cos(myAngle); - } else if (type === 'curvedCCW') { - dx = this.to.x - this.from.x; - dy = this.from.y - this.to.y; - var radius = Math.sqrt(dx * dx + dy * dy); - var pi = Math.PI; - - var originalAngle = Math.atan2(dy, dx); - var myAngle = (originalAngle + (-factor * 0.5 + 0.5) * pi) % (2 * pi); + var dx = this.from.x - this.to.x; + var dy = this.from.y - this.to.y; - xVia = this.from.x + (factor * 0.5 + 0.5) * radius * Math.sin(myAngle); - yVia = this.from.y + (factor * 0.5 + 0.5) * radius * Math.cos(myAngle); + var x1 = undefined, + y1 = undefined, + x2 = undefined, + y2 = undefined; + var roundness = this.options.smooth.roundness;; + + // horizontal if x > y or if direction is forced or if direction is horizontal + if ((Math.abs(dx) > Math.abs(dy) || this.options.smooth.forceDirection === true || this.options.smooth.forceDirection === 'horizontal') && this.options.smooth.forceDirection !== 'vertical') { + y1 = this.from.y; + y2 = this.to.y; + x1 = this.from.x - roundness * dx; + x2 = this.to.x + roundness * dx; } else { - // continuous - if (Math.abs(this.from.x - this.to.x) <= Math.abs(this.from.y - this.to.y)) { - if (this.from.y >= this.to.y) { - if (this.from.x <= this.to.x) { - xVia = this.from.x + factor * dy; - yVia = this.from.y - factor * dy; - xVia = this.to.x < xVia ? this.to.x : xVia; - } else if (this.from.x > this.to.x) { - xVia = this.from.x - factor * dy; - yVia = this.from.y - factor * dy; - xVia = this.to.x > xVia ? this.to.x : xVia; - } - } else if (this.from.y < this.to.y) { - if (this.from.x <= this.to.x) { - xVia = this.from.x + factor * dy; - yVia = this.from.y + factor * dy; - xVia = this.to.x < xVia ? this.to.x : xVia; - } else if (this.from.x > this.to.x) { - xVia = this.from.x - factor * dy; - yVia = this.from.y + factor * dy; - xVia = this.to.x > xVia ? this.to.x : xVia; - } - } - } else if (Math.abs(this.from.x - this.to.x) > Math.abs(this.from.y - this.to.y)) { - if (this.from.y >= this.to.y) { - if (this.from.x <= this.to.x) { - xVia = this.from.x + factor * dx; - yVia = this.from.y - factor * dx; - yVia = this.to.y > yVia ? this.to.y : yVia; - } else if (this.from.x > this.to.x) { - xVia = this.from.x - factor * dx; - yVia = this.from.y - factor * dx; - yVia = this.to.y > yVia ? this.to.y : yVia; - } - } else if (this.from.y < this.to.y) { - if (this.from.x <= this.to.x) { - xVia = this.from.x + factor * dx; - yVia = this.from.y + factor * dx; - yVia = this.to.y < yVia ? this.to.y : yVia; - } else if (this.from.x > this.to.x) { - xVia = this.from.x - factor * dx; - yVia = this.from.y + factor * dx; - yVia = this.to.y < yVia ? this.to.y : yVia; - } - } - } + y1 = this.from.y - roundness * dy; + y2 = this.to.y + roundness * dy; + x1 = this.from.x; + x2 = this.to.x; } - return { x: xVia, y: yVia }; + + return [{ x: x1, y: y1 }, { x: x2, y: y2 }]; } }, { key: '_findBorderPosition', value: function _findBorderPosition(nearNode, ctx) { - var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; - - return this._findBorderPositionBezier(nearNode, ctx, options.via); + return this._findBorderPositionBezier(nearNode, ctx); } }, { key: '_getDistanceToEdge', value: function _getDistanceToEdge(x1, y1, x2, y2, x3, y3) { - var via = arguments.length <= 6 || arguments[6] === undefined ? this._getViaCoordinates() : arguments[6]; + var _ref = arguments.length <= 6 || arguments[6] === undefined ? this._getViaCoordinates() : arguments[6]; + + var _ref2 = _slicedToArray(_ref, 2); + + var via1 = _ref2[0]; + var via2 = _ref2[1]; // x3,y3 is the point - return this._getDistanceToBezierEdge(x1, y1, x2, y2, x3, y3, via); + return this._getDistanceToBezierEdge(x1, y1, x2, y2, x3, y3, via1, via2); } + }, { + key: 'getPoint', /** * Combined function of pointOnLine and pointOnBezier. This gives the coordinates of a point on the line at a certain percentage of the way @@ -32131,27 +32265,291 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{x: number, y: number}} * @private */ + value: function getPoint(percentage) { + var _ref3 = arguments.length <= 1 || arguments[1] === undefined ? this._getViaCoordinates() : arguments[1]; + + var _ref32 = _slicedToArray(_ref3, 2); + + var via1 = _ref32[0]; + var via2 = _ref32[1]; + + var t = percentage; + var vec = []; + vec[0] = Math.pow(1 - t, 3); + vec[1] = 3 * t * Math.pow(1 - t, 2); + vec[2] = 3 * Math.pow(t, 2) * (1 - t); + vec[3] = Math.pow(t, 3); + var x = vec[0] * this.from.x + vec[1] * via1.x + vec[2] * via2.x + vec[3] * this.to.x; + var y = vec[0] * this.from.y + vec[1] * via1.y + vec[2] * via2.y + vec[3] * this.to.y; + + return { x: x, y: y }; + } + }]); + + return CubicBezierEdge; + })(_utilCubicBezierEdgeBase2['default']); + + exports['default'] = CubicBezierEdge; + module.exports = exports['default']; + +/***/ }, +/* 87 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, '__esModule', { + value: true + }); + + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + + var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } + + var _BezierEdgeBase2 = __webpack_require__(84); + + var _BezierEdgeBase3 = _interopRequireDefault(_BezierEdgeBase2); + + var CubicBezierEdgeBase = (function (_BezierEdgeBase) { + _inherits(CubicBezierEdgeBase, _BezierEdgeBase); + + function CubicBezierEdgeBase(options, body, labelModule) { + _classCallCheck(this, CubicBezierEdgeBase); + + _get(Object.getPrototypeOf(CubicBezierEdgeBase.prototype), 'constructor', this).call(this, options, body, labelModule); + } + + _createClass(CubicBezierEdgeBase, [{ + key: '_getDistanceToBezierEdge', + + /** + * Calculate the distance between a point (x3,y3) and a line segment from + * (x1,y1) to (x2,y2). + * http://stackoverflow.com/questions/849211/shortest-distancae-between-a-point-and-a-line-segment + * https://en.wikipedia.org/wiki/B%C3%A9zier_curve + * @param {number} x1 from x + * @param {number} y1 from y + * @param {number} x2 to x + * @param {number} y2 to y + * @param {number} x3 point to check x + * @param {number} y3 point to check y + * @private + */ + value: function _getDistanceToBezierEdge(x1, y1, x2, y2, x3, y3, via1, via2) { + // x3,y3 is the point + var minDistance = 1e9; + var distance = undefined; + var i = undefined, + t = undefined, + x = undefined, + y = undefined; + var lastX = x1; + var lastY = y1; + var vec = [0, 0, 0, 0]; + for (i = 1; i < 10; i++) { + t = 0.1 * i; + vec[0] = Math.pow(1 - t, 3); + vec[1] = 3 * t * Math.pow(1 - t, 2); + vec[2] = 3 * Math.pow(t, 2) * (1 - t); + vec[3] = Math.pow(t, 3); + x = vec[0] * x1 + vec[1] * via1.x + vec[2] * via2.x + vec[3] * x2; + y = vec[0] * y1 + vec[1] * via1.y + vec[2] * via2.y + vec[3] * y2; + if (i > 0) { + distance = this._getDistanceToLine(lastX, lastY, x, y, x3, y3); + minDistance = distance < minDistance ? distance : minDistance; + } + lastX = x; + lastY = y; + } + + return minDistance; + } + }]); + + return CubicBezierEdgeBase; + })(_BezierEdgeBase3['default']); + + exports['default'] = CubicBezierEdgeBase; + module.exports = exports['default']; + +/***/ }, +/* 88 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, '__esModule', { + value: true + }); + + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + + var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + + function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } + + var _utilBezierEdgeBase = __webpack_require__(84); + + var _utilBezierEdgeBase2 = _interopRequireDefault(_utilBezierEdgeBase); + + var BezierEdgeDynamic = (function (_BezierEdgeBase) { + _inherits(BezierEdgeDynamic, _BezierEdgeBase); + + function BezierEdgeDynamic(options, body, labelModule) { + _classCallCheck(this, BezierEdgeDynamic); + + //this.via = undefined; // Here for completeness but not allowed to defined before super() is invoked. + _get(Object.getPrototypeOf(BezierEdgeDynamic.prototype), 'constructor', this).call(this, options, body, labelModule); // --> this calls the setOptions below + } + + _createClass(BezierEdgeDynamic, [{ + key: 'setOptions', + value: function setOptions(options) { + this.options = options; + this.id = this.options.id; + this.setupSupportNode(); + + // when we change the physics state of the edge, we reposition the support node. + if (this.options.physics !== options.physics) { + this.via.setOptions({ physics: this.options.physics }); + this.positionBezierNode(); + } + this.connect(); + } + }, { + key: 'connect', + value: function connect() { + this.from = this.body.nodes[this.options.from]; + this.to = this.body.nodes[this.options.to]; + if (this.from === undefined || this.to === undefined || this.options.physics === false) { + this.via.setOptions({ physics: false }); + } else { + // fix weird behaviour where a selfreferencing node has physics enabled + if (this.from.id === this.to.id) { + this.via.setOptions({ physics: false }); + } else { + this.via.setOptions({ physics: true }); + } + } + } + }, { + key: 'cleanup', + + /** + * remove the support nodes + * @returns {boolean} + */ + value: function cleanup() { + if (this.via !== undefined) { + delete this.body.nodes[this.via.id]; + this.via = undefined; + return true; + } + return false; + } + }, { + key: 'setupSupportNode', + + /** + * Bezier curves require an anchor point to calculate the smooth flow. These points are nodes. These nodes are invisible but + * are used for the force calculation. + * + * The changed data is not called, if needed, it is returned by the main edge constructor. + * @private + */ + value: function setupSupportNode() { + if (this.via === undefined) { + var nodeId = 'edgeId:' + this.id; + var node = this.body.functions.createNode({ + id: nodeId, + shape: 'circle', + physics: true, + hidden: true + }); + this.body.nodes[nodeId] = node; + this.via = node; + this.via.parentEdgeId = this.id; + this.positionBezierNode(); + } + } + }, { + key: 'positionBezierNode', + value: function positionBezierNode() { + if (this.via !== undefined && this.from !== undefined && this.to !== undefined) { + this.via.x = 0.5 * (this.from.x + this.to.x); + this.via.y = 0.5 * (this.from.y + this.to.y); + } else if (this.via !== undefined) { + this.via.x = 0; + this.via.y = 0; + } + } + }, { + key: '_line', + + /** + * Draw a line between two nodes + * @param {CanvasRenderingContext2D} ctx + * @private + */ + value: function _line(ctx) { + // draw a straight line + ctx.beginPath(); + ctx.moveTo(this.from.x, this.from.y); + ctx.quadraticCurveTo(this.via.x, this.via.y, this.to.x, this.to.y); + // draw shadow if enabled + this.enableShadow(ctx); + ctx.stroke(); + this.disableShadow(ctx); + return this.via; + } }, { key: 'getPoint', - value: function getPoint(percentage) { - var via = arguments.length <= 1 || arguments[1] === undefined ? this._getViaCoordinates() : arguments[1]; + /** + * Combined function of pointOnLine and pointOnBezier. This gives the coordinates of a point on the line at a certain percentage of the way + * @param percentage + * @param via + * @returns {{x: number, y: number}} + * @private + */ + value: function getPoint(percentage) { var t = percentage; - var x = Math.pow(1 - t, 2) * this.from.x + 2 * t * (1 - t) * via.x + Math.pow(t, 2) * this.to.x; - var y = Math.pow(1 - t, 2) * this.from.y + 2 * t * (1 - t) * via.y + Math.pow(t, 2) * this.to.y; + var x = Math.pow(1 - t, 2) * this.from.x + 2 * t * (1 - t) * this.via.x + Math.pow(t, 2) * this.to.x; + var y = Math.pow(1 - t, 2) * this.from.y + 2 * t * (1 - t) * this.via.y + Math.pow(t, 2) * this.to.y; return { x: x, y: y }; } + }, { + key: '_findBorderPosition', + value: function _findBorderPosition(nearNode, ctx) { + return this._findBorderPositionBezier(nearNode, ctx, this.via); + } + }, { + key: '_getDistanceToEdge', + value: function _getDistanceToEdge(x1, y1, x2, y2, x3, y3) { + // x3,y3 is the point + return this._getDistanceToBezierEdge(x1, y1, x2, y2, x3, y3, this.via); + } }]); - return BezierEdgeStatic; + return BezierEdgeDynamic; })(_utilBezierEdgeBase2['default']); - exports['default'] = BezierEdgeStatic; + exports['default'] = BezierEdgeDynamic; module.exports = exports['default']; /***/ }, -/* 87 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -32183,14 +32581,14 @@ return /******/ (function(modules) { // webpackBootstrap _get(Object.getPrototypeOf(StraightEdge.prototype), 'constructor', this).call(this, options, body, labelModule); } - /** - * Draw a line between two nodes - * @param {CanvasRenderingContext2D} ctx - * @private - */ - _createClass(StraightEdge, [{ key: '_line', + + /** + * Draw a line between two nodes + * @param {CanvasRenderingContext2D} ctx + * @private + */ value: function _line(ctx) { // draw a straight line ctx.beginPath(); @@ -32202,6 +32600,8 @@ return /******/ (function(modules) { // webpackBootstrap this.disableShadow(ctx); return undefined; } + }, { + key: 'getPoint', /** * Combined function of pointOnLine and pointOnBezier. This gives the coordinates of a point on the line at a certain percentage of the way @@ -32210,8 +32610,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{x: number, y: number}} * @private */ - }, { - key: 'getPoint', value: function getPoint(percentage) { return { x: (1 - percentage) * this.from.x + percentage * this.to.x, @@ -32256,7 +32654,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 88 */ +/* 90 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -32271,35 +32669,35 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsPhysicsBarnesHutSolver = __webpack_require__(89); + var _componentsPhysicsBarnesHutSolver = __webpack_require__(91); var _componentsPhysicsBarnesHutSolver2 = _interopRequireDefault(_componentsPhysicsBarnesHutSolver); - var _componentsPhysicsRepulsionSolver = __webpack_require__(90); + var _componentsPhysicsRepulsionSolver = __webpack_require__(92); var _componentsPhysicsRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsRepulsionSolver); - var _componentsPhysicsHierarchicalRepulsionSolver = __webpack_require__(91); + var _componentsPhysicsHierarchicalRepulsionSolver = __webpack_require__(93); var _componentsPhysicsHierarchicalRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsHierarchicalRepulsionSolver); - var _componentsPhysicsSpringSolver = __webpack_require__(92); + var _componentsPhysicsSpringSolver = __webpack_require__(94); var _componentsPhysicsSpringSolver2 = _interopRequireDefault(_componentsPhysicsSpringSolver); - var _componentsPhysicsHierarchicalSpringSolver = __webpack_require__(93); + var _componentsPhysicsHierarchicalSpringSolver = __webpack_require__(95); var _componentsPhysicsHierarchicalSpringSolver2 = _interopRequireDefault(_componentsPhysicsHierarchicalSpringSolver); - var _componentsPhysicsCentralGravitySolver = __webpack_require__(94); + var _componentsPhysicsCentralGravitySolver = __webpack_require__(96); var _componentsPhysicsCentralGravitySolver2 = _interopRequireDefault(_componentsPhysicsCentralGravitySolver); - var _componentsPhysicsFA2BasedRepulsionSolver = __webpack_require__(95); + var _componentsPhysicsFA2BasedRepulsionSolver = __webpack_require__(97); var _componentsPhysicsFA2BasedRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsFA2BasedRepulsionSolver); - var _componentsPhysicsFA2BasedCentralGravitySolver = __webpack_require__(96); + var _componentsPhysicsFA2BasedCentralGravitySolver = __webpack_require__(98); var _componentsPhysicsFA2BasedCentralGravitySolver2 = _interopRequireDefault(_componentsPhysicsFA2BasedCentralGravitySolver); @@ -32483,18 +32881,18 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.emit('fit'); } } + }, { + key: 'startSimulation', /** * Start the simulation */ - }, { - key: 'startSimulation', value: function startSimulation() { if (this.physicsEnabled === true && this.options.enabled === true) { this.stabilized = false; // this sets the width of all nodes initially which could be required for the avoidOverlap - this.body.emitter.emit("_resizeNodes"); + this.body.emitter.emit('_resizeNodes'); if (this.viewFunction === undefined) { this.viewFunction = this.simulationStep.bind(this); this.body.emitter.on('initRedraw', this.viewFunction); @@ -32504,12 +32902,12 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.emit('_redraw'); } } + }, { + key: 'stopSimulation', /** * Stop the simulation, force stabilization. */ - }, { - key: 'stopSimulation', value: function stopSimulation() { var emit = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; @@ -32525,13 +32923,13 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'simulationStep', /** * The viewFunction inserts this step into each renderloop. It calls the physics tick and handles the cleanup at stabilized. * */ - }, { - key: 'simulationStep', value: function simulationStep() { // check if the physics have settled var startTime = Date.now(); @@ -32571,14 +32969,14 @@ return /******/ (function(modules) { // webpackBootstrap }, 0); } } + }, { + key: 'physicsTick', /** * A single simulation step (or 'tick') in the physics simulation * * @private */ - }, { - key: 'physicsTick', value: function physicsTick() { if (this.stabilized === false) { this.calculateForces(); @@ -32598,14 +32996,14 @@ return /******/ (function(modules) { // webpackBootstrap this.stabilizationIterations++; } } + }, { + key: 'updatePhysicsData', /** * Nodes and edges can have the physics toggles on or off. A collection of indices is created here so we can skip the check all the time. * * @private */ - }, { - key: 'updatePhysicsData', value: function updatePhysicsData() { this.physicsBody.forces = {}; this.physicsBody.physicsNodeIndices = []; @@ -32649,12 +33047,12 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'revert', /** * Revert the simulation one step. This is done so after stabilization, every new start of the simulation will also say stabilized. */ - }, { - key: 'revert', value: function revert() { var nodeIds = Object.keys(this.previousStates); var nodes = this.body.nodes; @@ -32674,13 +33072,13 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'moveNodes', /** * move the nodes one timestap and check if they are stabilized * @returns {boolean} */ - }, { - key: 'moveNodes', value: function moveNodes() { var nodesPresent = false; var nodeIndices = this.physicsBody.physicsNodeIndices; @@ -32705,6 +33103,8 @@ return /******/ (function(modules) { // webpackBootstrap } return true; } + }, { + key: '_performStep', /** * Perform the actual step @@ -32714,8 +33114,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: '_performStep', value: function _performStep(nodeId, maxVelocity) { var node = this.body.nodes[nodeId]; var timestep = this.options.timestep; @@ -32732,9 +33130,9 @@ return /******/ (function(modules) { // webpackBootstrap velocities[nodeId].x = Math.abs(velocities[nodeId].x) > maxVelocity ? velocities[nodeId].x > 0 ? maxVelocity : -maxVelocity : velocities[nodeId].x; node.x += velocities[nodeId].x * timestep; // position } else { - forces[nodeId].x = 0; - velocities[nodeId].x = 0; - } + forces[nodeId].x = 0; + velocities[nodeId].x = 0; + } if (node.options.fixed.y === false) { var dy = this.modelOptions.damping * velocities[nodeId].y; // damping force @@ -32743,24 +33141,26 @@ return /******/ (function(modules) { // webpackBootstrap velocities[nodeId].y = Math.abs(velocities[nodeId].y) > maxVelocity ? velocities[nodeId].y > 0 ? maxVelocity : -maxVelocity : velocities[nodeId].y; node.y += velocities[nodeId].y * timestep; // position } else { - forces[nodeId].y = 0; - velocities[nodeId].y = 0; - } + forces[nodeId].y = 0; + velocities[nodeId].y = 0; + } var totalVelocity = Math.sqrt(Math.pow(velocities[nodeId].x, 2) + Math.pow(velocities[nodeId].y, 2)); return totalVelocity; } + }, { + key: 'calculateForces', /** * calculate the forces for one physics iteration. */ - }, { - key: 'calculateForces', value: function calculateForces() { this.gravitySolver.solve(); this.nodesSolver.solve(); this.edgesSolver.solve(); } + }, { + key: '_freezeNodes', /** * When initializing and stabilizing, we can freeze nodes with a predefined position. This greatly speeds up stabilization @@ -32768,8 +33168,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: '_freezeNodes', value: function _freezeNodes() { var nodes = this.body.nodes; for (var id in nodes) { @@ -32782,14 +33180,14 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_restoreFrozenNodes', /** * Unfreezes the nodes that have been frozen by _freezeDefinedNodes. * * @private */ - }, { - key: '_restoreFrozenNodes', value: function _restoreFrozenNodes() { var nodes = this.body.nodes; for (var id in nodes) { @@ -32802,13 +33200,13 @@ return /******/ (function(modules) { // webpackBootstrap } this.freezeCache = {}; } + }, { + key: 'stabilize', /** * Find a stable position for all nodes * @private */ - }, { - key: 'stabilize', value: function stabilize() { var _this3 = this; @@ -32825,7 +33223,7 @@ return /******/ (function(modules) { // webpackBootstrap } // this sets the width of all nodes initially which could be required for the avoidOverlap - this.body.emitter.emit("_resizeNodes"); + this.body.emitter.emit('_resizeNodes'); // stop the render loop this.stopSimulation(); @@ -32896,7 +33294,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 89 */ +/* 91 */ /***/ function(module, exports) { "use strict"; @@ -32933,6 +33331,8 @@ return /******/ (function(modules) { // webpackBootstrap var x = Math.sin(this.randomSeed++) * 10000; return x - Math.floor(x); } + }, { + key: "solve", /** * This function calculates the forces the nodes apply on eachother based on a gravitational model. @@ -32940,8 +33340,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: "solve", value: function solve() { if (this.options.gravitationalConstant !== 0 && this.physicsBody.physicsNodeIndices.length > 0) { var node = undefined; @@ -32968,6 +33366,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_getForceContribution", /** * This function traverses the barnesHutTree. It checks when it can approximate distant nodes with their center of mass. @@ -32977,8 +33377,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param node * @private */ - }, { - key: "_getForceContribution", value: function _getForceContribution(parentBranch, node) { // we get no force contribution from an empty region if (parentBranch.childrenCount > 0) { @@ -33013,6 +33411,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_calculateForces", /** * Calculate the forces based on the distance. @@ -33024,8 +33424,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentBranch * @private */ - }, { - key: "_calculateForces", value: function _calculateForces(distance, dx, dy, node, parentBranch) { if (distance === 0) { distance = 0.1; @@ -33045,6 +33443,8 @@ return /******/ (function(modules) { // webpackBootstrap this.physicsBody.forces[node.id].x += fx; this.physicsBody.forces[node.id].y += fy; } + }, { + key: "_formBarnesHutTree", /** * This function constructs the barnesHut tree recursively. It creates the root, splits it and starts placing the nodes. @@ -33053,8 +33453,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param nodeIndices * @private */ - }, { - key: "_formBarnesHutTree", value: function _formBarnesHutTree(nodes, nodeIndices) { var node = undefined; var nodeCount = nodeIndices.length; @@ -33090,9 +33488,9 @@ return /******/ (function(modules) { // webpackBootstrap maxY += 0.5 * sizeDiff; } // xSize > ySize else { - minX += 0.5 * sizeDiff; - maxX -= 0.5 * sizeDiff; - } // xSize < ySize + minX += 0.5 * sizeDiff; + maxX -= 0.5 * sizeDiff; + } // xSize < ySize var minimumTreeSize = 1e-5; var rootSize = Math.max(minimumTreeSize, Math.abs(maxX - minX)); @@ -33130,6 +33528,8 @@ return /******/ (function(modules) { // webpackBootstrap // make global return barnesHutTree; } + }, { + key: "_updateBranchMass", /** * this updates the mass of a branch. this is increased by adding a node. @@ -33138,8 +33538,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param node * @private */ - }, { - key: "_updateBranchMass", value: function _updateBranchMass(parentBranch, node) { var totalMass = parentBranch.mass + node.options.mass; var totalMassInv = 1 / totalMass; @@ -33154,6 +33552,8 @@ return /******/ (function(modules) { // webpackBootstrap var biggestSize = Math.max(Math.max(node.height, node.radius), node.width); parentBranch.maxWidth = parentBranch.maxWidth < biggestSize ? biggestSize : parentBranch.maxWidth; } + }, { + key: "_placeInTree", /** * determine in which branch the node will be placed. @@ -33163,8 +33563,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param skipMassUpdate * @private */ - }, { - key: "_placeInTree", value: function _placeInTree(parentBranch, node, skipMassUpdate) { if (skipMassUpdate != true || skipMassUpdate === undefined) { // update the mass of the branch. @@ -33191,6 +33589,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_placeInRegion", /** * actually place the node in a region (or branch) @@ -33200,8 +33600,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param region * @private */ - }, { - key: "_placeInRegion", value: function _placeInRegion(parentBranch, node, region) { switch (parentBranch.children[region].childrenCount) { case 0: @@ -33228,6 +33626,8 @@ return /******/ (function(modules) { // webpackBootstrap break; } } + }, { + key: "_splitBranch", /** * this function splits a branch into 4 sub branches. If the branch contained a node, we place it in the subbranch @@ -33236,8 +33636,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentBranch * @private */ - }, { - key: "_splitBranch", value: function _splitBranch(parentBranch) { // if the branch is shaded with a node, replace the node in the new subset. var containedNode = null; @@ -33258,6 +33656,8 @@ return /******/ (function(modules) { // webpackBootstrap this._placeInTree(parentBranch, containedNode); } } + }, { + key: "_insertRegion", /** * This function subdivides the region into four new segments. @@ -33269,8 +33669,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentRange * @private */ - }, { - key: "_insertRegion", value: function _insertRegion(parentBranch, region) { var minX = undefined, maxX = undefined, @@ -33316,6 +33714,8 @@ return /******/ (function(modules) { // webpackBootstrap childrenCount: 0 }; } + }, { + key: "_debug", //--------------------------- DEBUGGING BELOW ---------------------------// @@ -33326,8 +33726,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param color * @private */ - }, { - key: "_debug", value: function _debug(ctx, color) { if (this.barnesHutTree !== undefined) { @@ -33336,6 +33734,8 @@ return /******/ (function(modules) { // webpackBootstrap this._drawBranch(this.barnesHutTree.root, ctx, color); } } + }, { + key: "_drawBranch", /** * This function is for debugging purposes. It draws the branches recursively. @@ -33345,8 +33745,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param color * @private */ - }, { - key: "_drawBranch", value: function _drawBranch(branch, ctx, color) { if (color === undefined) { color = "#FF0000"; @@ -33395,7 +33793,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 90 */ +/* 92 */ /***/ function(module, exports) { "use strict"; @@ -33422,6 +33820,8 @@ return /******/ (function(modules) { // webpackBootstrap value: function setOptions(options) { this.options = options; } + }, { + key: "solve", /** * Calculate the forces the nodes apply on each other based on a repulsion field. @@ -33429,8 +33829,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: "solve", value: function solve() { var dx, dy, distance, fx, fy, repulsingForce, node1, node2; @@ -33490,7 +33888,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 91 */ +/* 93 */ /***/ function(module, exports) { "use strict"; @@ -33517,6 +33915,8 @@ return /******/ (function(modules) { // webpackBootstrap value: function setOptions(options) { this.options = options; } + }, { + key: "solve", /** * Calculate the forces the nodes apply on each other based on a repulsion field. @@ -33524,8 +33924,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: "solve", value: function solve() { var dx, dy, distance, fx, fy, repulsingForce, node1, node2, i, j; @@ -33581,7 +33979,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 92 */ +/* 94 */ /***/ function(module, exports) { "use strict"; @@ -33608,14 +34006,14 @@ return /******/ (function(modules) { // webpackBootstrap value: function setOptions(options) { this.options = options; } + }, { + key: "solve", /** * This function calculates the springforces on the nodes, accounting for the support nodes. * * @private */ - }, { - key: "solve", value: function solve() { var edgeLength = undefined, edge = undefined; @@ -33649,6 +34047,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_calculateSpringForce", /** * This is the code actually performing the calculation for the function above. @@ -33658,8 +34058,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param edgeLength * @private */ - }, { - key: "_calculateSpringForce", value: function _calculateSpringForce(node1, node2, edgeLength) { var dx = node1.x - node2.x; var dy = node1.y - node2.y; @@ -33691,7 +34089,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 93 */ +/* 95 */ /***/ function(module, exports) { "use strict"; @@ -33718,14 +34116,14 @@ return /******/ (function(modules) { // webpackBootstrap value: function setOptions(options) { this.options = options; } + }, { + key: "solve", /** * This function calculates the springforces on the nodes, accounting for the support nodes. * * @private */ - }, { - key: "solve", value: function solve() { var edgeLength, edge; var dx, dy, fx, fy, springForce, distance; @@ -33820,7 +34218,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 94 */ +/* 96 */ /***/ function(module, exports) { "use strict"; @@ -33868,13 +34266,13 @@ return /******/ (function(modules) { // webpackBootstrap this._calculateForces(distance, dx, dy, forces, node); } } + }, { + key: "_calculateForces", /** * Calculate the forces based on the distance. * @private */ - }, { - key: "_calculateForces", value: function _calculateForces(distance, dx, dy, forces, node) { var gravityForce = distance === 0 ? 0 : this.options.centralGravity / distance; forces[node.id].x = dx * gravityForce; @@ -33889,7 +34287,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 95 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -33908,7 +34306,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _BarnesHutSolver2 = __webpack_require__(89); + var _BarnesHutSolver2 = __webpack_require__(91); var _BarnesHutSolver3 = _interopRequireDefault(_BarnesHutSolver2); @@ -33921,19 +34319,19 @@ return /******/ (function(modules) { // webpackBootstrap _get(Object.getPrototypeOf(ForceAtlas2BasedRepulsionSolver.prototype), "constructor", this).call(this, body, physicsBody, options); } - /** - * Calculate the forces based on the distance. - * - * @param distance - * @param dx - * @param dy - * @param node - * @param parentBranch - * @private - */ - _createClass(ForceAtlas2BasedRepulsionSolver, [{ key: "_calculateForces", + + /** + * Calculate the forces based on the distance. + * + * @param distance + * @param dx + * @param dy + * @param node + * @param parentBranch + * @private + */ value: function _calculateForces(distance, dx, dy, node, parentBranch) { if (distance === 0) { distance = 0.1 * Math.random(); @@ -33963,7 +34361,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 96 */ +/* 98 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -33982,7 +34380,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _CentralGravitySolver2 = __webpack_require__(94); + var _CentralGravitySolver2 = __webpack_require__(96); var _CentralGravitySolver3 = _interopRequireDefault(_CentralGravitySolver2); @@ -33995,13 +34393,13 @@ return /******/ (function(modules) { // webpackBootstrap _get(Object.getPrototypeOf(ForceAtlas2BasedCentralGravitySolver.prototype), "constructor", this).call(this, body, physicsBody, options); } - /** - * Calculate the forces based on the distance. - * @private - */ - _createClass(ForceAtlas2BasedCentralGravitySolver, [{ key: "_calculateForces", + + /** + * Calculate the forces based on the distance. + * @private + */ value: function _calculateForces(distance, dx, dy, forces, node) { if (distance > 0) { var degree = node.edges.length + 1; @@ -34019,7 +34417,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 97 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -34034,7 +34432,7 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsNodesCluster = __webpack_require__(98); + var _componentsNodesCluster = __webpack_require__(100); var _componentsNodesCluster2 = _interopRequireDefault(_componentsNodesCluster); @@ -34063,18 +34461,18 @@ return /******/ (function(modules) { // webpackBootstrap value: function setOptions(options) { if (options !== undefined) {} } + }, { + key: 'clusterByHubsize', /** * * @param hubsize * @param options */ - }, { - key: 'clusterByHubsize', value: function clusterByHubsize(hubsize, options) { if (hubsize === undefined) { hubsize = this._getHubSize(); - } else if (typeof hubsize === "object") { + } else if (typeof hubsize === 'object') { options = this._checkOptions(hubsize); hubsize = this._getHubSize(); } @@ -34092,20 +34490,20 @@ return /******/ (function(modules) { // webpackBootstrap } this.body.emitter.emit('_dataChanged'); } + }, { + key: 'cluster', /** * loop over all nodes, check if they adhere to the condition and cluster if needed. * @param options * @param refreshData */ - }, { - key: 'cluster', value: function cluster() { var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; var refreshData = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; if (options.joinCondition === undefined) { - throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options."); + throw new Error('Cannot call clusterByNodeData without a joinCondition function in the options.'); } // check if the options object is fine, append if needed @@ -34132,14 +34530,14 @@ return /******/ (function(modules) { // webpackBootstrap this._cluster(childNodesObj, childEdgesObj, options, refreshData); } + }, { + key: 'clusterOutliers', /** * Cluster all nodes in the network that have only 1 edge * @param options * @param refreshData */ - }, { - key: 'clusterOutliers', value: function clusterOutliers(options) { var refreshData = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; @@ -34209,6 +34607,8 @@ return /******/ (function(modules) { // webpackBootstrap } return false; } + }, { + key: 'clusterByConnection', /** * suck all connected nodes of a node into the node. @@ -34216,17 +34616,15 @@ return /******/ (function(modules) { // webpackBootstrap * @param options * @param refreshData */ - }, { - key: 'clusterByConnection', value: function clusterByConnection(nodeId, options) { var refreshData = arguments.length <= 2 || arguments[2] === undefined ? true : arguments[2]; // kill conditions if (nodeId === undefined) { - throw new Error("No nodeId supplied to clusterByConnection!"); + throw new Error('No nodeId supplied to clusterByConnection!'); } if (this.body.nodes[nodeId] === undefined) { - throw new Error("The nodeId given to clusterByConnection does not exist!"); + throw new Error('The nodeId given to clusterByConnection does not exist!'); } var node = this.body.nodes[nodeId]; @@ -34273,6 +34671,8 @@ return /******/ (function(modules) { // webpackBootstrap this._cluster(childNodesObj, childEdgesObj, options, refreshData); } + }, { + key: '_cloneOptions', /** * This returns a clone of the options or options of the edge or node to be used for construction of new edges or check functions for new nodes. @@ -34281,8 +34681,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{}} * @private */ - }, { - key: '_cloneOptions', value: function _cloneOptions(item, type) { var clonedOptions = {}; if (type === undefined || type === 'node') { @@ -34295,6 +34693,8 @@ return /******/ (function(modules) { // webpackBootstrap } return clonedOptions; } + }, { + key: '_createClusterEdges', /** * This function creates the edges that will be attached to the cluster. @@ -34305,8 +34705,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param options * @private */ - }, { - key: '_createClusterEdges', value: function _createClusterEdges(childNodesObj, childEdgesObj, newEdges, clusterNodeProperties, clusterEdgeProperties) { var edge = undefined, childNodeId = undefined, @@ -34349,6 +34747,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_checkOptions', /** * This function checks the options that can be supplied to the different cluster functions @@ -34357,8 +34757,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_checkOptions', value: function _checkOptions() { var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; @@ -34371,6 +34769,8 @@ return /******/ (function(modules) { // webpackBootstrap return options; } + }, { + key: '_cluster', /** * @@ -34380,8 +34780,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Boolean} refreshData | when true, do not wrap up * @private */ - }, { - key: '_cluster', value: function _cluster(childNodesObj, childEdgesObj, options) { var refreshData = arguments.length <= 3 || arguments[3] === undefined ? true : arguments[3]; @@ -34405,7 +34803,7 @@ return /******/ (function(modules) { // webpackBootstrap var childEdgesOptions = []; for (var edgeId in childEdgesObj) { // these cluster edges will be removed on creation of the cluster. - if (edgeId.substr(0, 12) !== "clusterEdge:") { + if (edgeId.substr(0, 12) !== 'clusterEdge:') { var clonedOptions = this._cloneOptions(childEdgesObj[edgeId], 'edge'); childEdgesOptions.push(clonedOptions); } @@ -34413,7 +34811,7 @@ return /******/ (function(modules) { // webpackBootstrap clusterNodeProperties = options.processProperties(clusterNodeProperties, childNodesOptions, childEdgesOptions); if (!clusterNodeProperties) { - throw new Error("The processProperties function does not return properties!"); + throw new Error('The processProperties function does not return properties!'); } } @@ -34466,15 +34864,15 @@ return /******/ (function(modules) { // webpackBootstrap // if this is a cluster edge that is fully encompassed in the cluster, we want to delete it // this check verifies that both of the connected nodes are in this cluster - if (edgeId.substr(0, 12) === "clusterEdge:" && childNodesObj[edge.fromId] !== undefined && childNodesObj[edge.toId] !== undefined) { - edge.edgeType.cleanup(); + if (edgeId.substr(0, 12) === 'clusterEdge:' && childNodesObj[edge.fromId] !== undefined && childNodesObj[edge.toId] !== undefined) { + edge.cleanup(); // this removes the edge from node.edges, which is why edgeIds is formed edge.disconnect(); delete childEdgesObj[edgeId]; delete this.body.edges[edgeId]; } else { - edge.togglePhysics(false); - edge.options.hidden = true; + edge.setOptions({ physics: false, hidden: true }); + //edge.options.hidden = true; } } } @@ -34484,8 +34882,7 @@ return /******/ (function(modules) { // webpackBootstrap for (var nodeId in childNodesObj) { if (childNodesObj.hasOwnProperty(nodeId)) { this.clusteredNodes[nodeId] = { clusterId: clusterNodeProperties.id, node: this.body.nodes[nodeId] }; - this.body.nodes[nodeId].togglePhysics(false); - this.body.nodes[nodeId].options.hidden = true; + this.body.nodes[nodeId].setOptions({ hidden: true, physics: false }); } } @@ -34503,22 +34900,24 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.emit('_dataChanged'); } } + }, { + key: 'isCluster', /** * Check if a node is a cluster. * @param nodeId * @returns {*} */ - }, { - key: 'isCluster', value: function isCluster(nodeId) { if (this.body.nodes[nodeId] !== undefined) { return this.body.nodes[nodeId].isCluster === true; } else { - console.log("Node does not exist."); + console.log('Node does not exist.'); return false; } } + }, { + key: '_getClusterPosition', /** * get the position of the cluster node based on what's inside @@ -34526,8 +34925,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{x: number, y: number}} * @private */ - }, { - key: '_getClusterPosition', value: function _getClusterPosition(childNodesObj) { var childKeys = Object.keys(childNodesObj); var minX = childNodesObj[childKeys[0]].x; @@ -34545,26 +34942,26 @@ return /******/ (function(modules) { // webpackBootstrap return { x: 0.5 * (minX + maxX), y: 0.5 * (minY + maxY) }; } + }, { + key: 'openCluster', /** * Open a cluster by calling this function. * @param {String} clusterNodeId | the ID of the cluster node * @param {Boolean} refreshData | wrap up afterwards if not true */ - }, { - key: 'openCluster', value: function openCluster(clusterNodeId, options) { var refreshData = arguments.length <= 2 || arguments[2] === undefined ? true : arguments[2]; // kill conditions if (clusterNodeId === undefined) { - throw new Error("No clusterNodeId supplied to openCluster."); + throw new Error('No clusterNodeId supplied to openCluster.'); } if (this.body.nodes[clusterNodeId] === undefined) { - throw new Error("The clusterNodeId supplied to openCluster does not exist."); + throw new Error('The clusterNodeId supplied to openCluster does not exist.'); } if (this.body.nodes[clusterNodeId].containedNodes === undefined) { - console.log("The node:" + clusterNodeId + " is not a cluster."); + console.log('The node:' + clusterNodeId + ' is not a cluster.'); return; } var clusterNode = this.body.nodes[clusterNodeId]; @@ -34614,8 +35011,10 @@ return /******/ (function(modules) { // webpackBootstrap containedNode.vx = clusterNode.vx; containedNode.vy = clusterNode.vy; - containedNode.options.hidden = false; - containedNode.togglePhysics(true); + // we use these methods to avoid reinstantiating the shape, which happens with setOptions. + //containedNode.toggleHidden(false); + //containedNode.togglePhysics(true); + containedNode.setOptions({ hidden: false, physics: true }); delete this.clusteredNodes[nodeId]; } @@ -34627,7 +35026,7 @@ return /******/ (function(modules) { // webpackBootstrap var edge = containedEdges[edgeId]; // if this edge was a temporary edge and it's connected nodes do not exist anymore, we remove it from the data if (this.body.nodes[edge.fromId] === undefined || this.body.nodes[edge.toId] === undefined || edge.toId == clusterNodeId || edge.fromId == clusterNodeId) { - edge.edgeType.cleanup(); + edge.cleanup(); // this removes the edge from node.edges, which is why edgeIds is formed edge.disconnect(); delete this.body.edges[edgeId]; @@ -34661,8 +35060,9 @@ return /******/ (function(modules) { // webpackBootstrap this.body.edges[id].connect(); } } else { - edge.options.hidden = false; - edge.togglePhysics(true); + edge.setOptions({ physics: true, hidden: false }); + //edge.options.hidden = false; + //edge.togglePhysics(true); } } } @@ -34678,13 +35078,14 @@ return /******/ (function(modules) { // webpackBootstrap // actually removing the edges for (var i = 0; i < removeIds.length; i++) { var edgeId = removeIds[i]; - this.body.edges[edgeId].edgeType.cleanup(); + this.body.edges[edgeId].cleanup(); // this removes the edge from node.edges, which is why edgeIds is formed this.body.edges[edgeId].disconnect(); delete this.body.edges[edgeId]; } // remove clusterNode + this.body.nodes[clusterNodeId].cleanup(); delete this.body.nodes[clusterNodeId]; if (refreshData === true) { @@ -34706,6 +35107,8 @@ return /******/ (function(modules) { // webpackBootstrap return nodesArray; } + }, { + key: 'findNode', /** * Get the stack clusterId's that a certain node resides in. cluster A -> cluster B -> cluster C -> node @@ -34713,8 +35116,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Array} * @private */ - }, { - key: 'findNode', value: function findNode(nodeId) { var stack = []; var max = 100; @@ -34728,6 +35129,8 @@ return /******/ (function(modules) { // webpackBootstrap stack.push(this.body.nodes[nodeId]); return stack; } + }, { + key: '_getConnectedId', /** * Get the Id the node is connected to @@ -34736,8 +35139,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_getConnectedId', value: function _getConnectedId(edge, nodeId) { if (edge.toId != nodeId) { return edge.toId; @@ -34747,6 +35148,8 @@ return /******/ (function(modules) { // webpackBootstrap return edge.fromId; } } + }, { + key: '_getHubSize', /** * We determine how many connections denote an important hub. @@ -34754,8 +35157,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: '_getHubSize', value: function _getHubSize() { var average = 0; var averageSquared = 0; @@ -34795,7 +35196,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 98 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -34814,12 +35215,12 @@ return /******/ (function(modules) { // webpackBootstrap var _Node2 = __webpack_require__(62); + var _Node3 = _interopRequireDefault(_Node2); + /** * */ - var _Node3 = _interopRequireDefault(_Node2); - var Cluster = (function (_Node) { _inherits(Cluster, _Node); @@ -34840,7 +35241,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 99 */ +/* 101 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -34891,33 +35292,33 @@ return /******/ (function(modules) { // webpackBootstrap value: function bindEventListeners() { var _this = this; - this.body.emitter.on("dragStart", function () { + this.body.emitter.on('dragStart', function () { _this.dragging = true; }); - this.body.emitter.on("dragEnd", function () { + this.body.emitter.on('dragEnd', function () { return _this.dragging = false; }); - this.body.emitter.on("_resizeNodes", function () { + this.body.emitter.on('_resizeNodes', function () { return _this._resizeNodes(); }); - this.body.emitter.on("_redraw", function () { + this.body.emitter.on('_redraw', function () { if (_this.renderingActive === false) { _this._redraw(); } }); - this.body.emitter.on("_blockRedraw", function () { + this.body.emitter.on('_blockRedraw', function () { _this.allowRedraw = false; }); - this.body.emitter.on("_allowRedraw", function () { + this.body.emitter.on('_allowRedraw', function () { _this.allowRedraw = true;_this.redrawRequested = false; }); - this.body.emitter.on("_requestRedraw", this._requestRedraw.bind(this)); - this.body.emitter.on("_startRendering", function () { + this.body.emitter.on('_requestRedraw', this._requestRedraw.bind(this)); + this.body.emitter.on('_startRendering', function () { _this.renderRequests += 1; _this.renderingActive = true; _this._startRendering(); }); - this.body.emitter.on("_stopRendering", function () { + this.body.emitter.on('_stopRendering', function () { _this.renderRequests -= 1; _this.renderingActive = _this.renderRequests > 0; _this.renderTimer = undefined; @@ -34950,8 +35351,8 @@ return /******/ (function(modules) { // webpackBootstrap if (this.requiresTimeout === true) { this.renderTimer = window.setTimeout(this._renderStep.bind(this), this.simulationInterval); // wait this.renderTimeStep milliseconds and perform the animation step function } else { - this.renderTimer = window.requestAnimationFrame(this._renderStep.bind(this)); // wait this.renderTimeStep milliseconds and perform the animation step function - } + this.renderTimer = window.requestAnimationFrame(this._renderStep.bind(this)); // wait this.renderTimeStep milliseconds and perform the animation step function + } } } } @@ -34975,25 +35376,25 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'redraw', /** * Redraw the network with the current data * chart will be resized too. */ - }, { - key: 'redraw', value: function redraw() { this.body.emitter.emit('setSize'); this._redraw(); } + }, { + key: '_requestRedraw', /** * Redraw the network with the current data * @param hidden | used to get the first estimate of the node sizes. only the nodes are drawn after which they are quickly drawn over. * @private */ - }, { - key: '_requestRedraw', value: function _requestRedraw() { var _this2 = this; @@ -35016,7 +35417,7 @@ return /******/ (function(modules) { // webpackBootstrap var hidden = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0]; if (this.allowRedraw === true) { - this.body.emitter.emit("initRedraw"); + this.body.emitter.emit('initRedraw'); this.redrawRequested = false; var ctx = this.canvas.frame.canvas.getContext('2d'); @@ -35043,7 +35444,7 @@ return /******/ (function(modules) { // webpackBootstrap ctx.scale(this.body.view.scale, this.body.view.scale); ctx.beginPath(); - this.body.emitter.emit("beforeDrawing", ctx); + this.body.emitter.emit('beforeDrawing', ctx); ctx.closePath(); if (hidden === false) { @@ -35062,7 +35463,7 @@ return /******/ (function(modules) { // webpackBootstrap ctx.beginPath(); //this.physics.nodesSolver._debug(ctx,"#F00F0F"); - this.body.emitter.emit("afterDrawing", ctx); + this.body.emitter.emit('afterDrawing', ctx); ctx.closePath(); // restore original scaling and translation ctx.restore(); @@ -35072,6 +35473,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_resizeNodes', /** * Redraw all nodes @@ -35080,8 +35483,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Boolean} [alwaysShow] * @private */ - }, { - key: '_resizeNodes', value: function _resizeNodes() { var ctx = this.canvas.frame.canvas.getContext('2d'); if (this.pixelRatio === undefined) { @@ -35107,6 +35508,8 @@ return /******/ (function(modules) { // webpackBootstrap // restore original scaling and translation ctx.restore(); } + }, { + key: '_drawNodes', /** * Redraw all nodes @@ -35115,8 +35518,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Boolean} [alwaysShow] * @private */ - }, { - key: '_drawNodes', value: function _drawNodes(ctx) { var alwaysShow = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; @@ -35155,6 +35556,8 @@ return /******/ (function(modules) { // webpackBootstrap node.draw(ctx); } } + }, { + key: '_drawEdges', /** * Redraw all edges @@ -35162,8 +35565,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {CanvasRenderingContext2D} ctx * @private */ - }, { - key: '_drawEdges', value: function _drawEdges(ctx) { var edges = this.body.edges; var edgeIndices = this.body.edgeIndices; @@ -35176,6 +35577,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_drawControlNodes', /** * Redraw all edges @@ -35183,8 +35586,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {CanvasRenderingContext2D} ctx * @private */ - }, { - key: '_drawControlNodes', value: function _drawControlNodes(ctx) { var edges = this.body.edges; var edgeIndices = this.body.edgeIndices; @@ -35195,14 +35596,14 @@ return /******/ (function(modules) { // webpackBootstrap edge._drawControlNodes(ctx); } } + }, { + key: '_determineBrowserMethod', /** * Determine if the browser requires a setTimeout or a requestAnimationFrame. This was required because * some implementations (safari and IE9) did not support requestAnimationFrame * @private */ - }, { - key: '_determineBrowserMethod', value: function _determineBrowserMethod() { if (typeof window !== 'undefined') { var browserType = navigator.userAgent.toLowerCase(); @@ -35229,7 +35630,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 100 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -35281,7 +35682,7 @@ return /******/ (function(modules) { // webpackBootstrap var _this = this; // bind the events - this.body.emitter.once("resize", function (obj) { + this.body.emitter.once('resize', function (obj) { if (obj.width !== 0) { _this.body.view.translation.x = obj.width * 0.5; } @@ -35289,8 +35690,8 @@ return /******/ (function(modules) { // webpackBootstrap _this.body.view.translation.y = obj.height * 0.5; } }); - this.body.emitter.on("setSize", this.setSize.bind(this)); - this.body.emitter.on("destroy", function () { + this.body.emitter.on('setSize', this.setSize.bind(this)); + this.body.emitter.on('destroy', function () { _this.hammerFrame.destroy(); _this.hammer.destroy(); _this._cleanUp(); @@ -35312,7 +35713,7 @@ return /******/ (function(modules) { // webpackBootstrap this.resizeTimer = setInterval(function () { var changed = _this2.setSize(); if (changed === true) { - _this2.body.emitter.emit("_requestRedraw"); + _this2.body.emitter.emit('_requestRedraw'); } }, 1000); this.resizeFunction = this._onResize.bind(this); @@ -35333,7 +35734,7 @@ return /******/ (function(modules) { // webpackBootstrap key: '_onResize', value: function _onResize() { this.setSize(); - this.body.emitter.emit("_redraw"); + this.body.emitter.emit('_redraw'); } }, { key: '_prepareValue', @@ -35349,12 +35750,12 @@ return /******/ (function(modules) { // webpackBootstrap } throw new Error('Could not use the value supplie for width or height:' + value); } + }, { + key: '_create', /** * Create the HTML */ - }, { - key: '_create', value: function _create() { // remove all elements from the container element. while (this.body.container.hasChildNodes()) { @@ -35369,7 +35770,7 @@ return /******/ (function(modules) { // webpackBootstrap ////////////////////////////////////////////////////////////////// - this.frame.canvas = document.createElement("canvas"); + this.frame.canvas = document.createElement('canvas'); this.frame.canvas.style.position = 'relative'; this.frame.appendChild(this.frame.canvas); @@ -35381,10 +35782,10 @@ return /******/ (function(modules) { // webpackBootstrap noCanvas.innerHTML = 'Error: your browser does not support HTML canvas'; this.frame.canvas.appendChild(noCanvas); } else { - var ctx = this.frame.canvas.getContext("2d"); + var ctx = this.frame.canvas.getContext('2d'); this.pixelRatio = (window.devicePixelRatio || 1) / (ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1); - this.frame.canvas.getContext("2d").setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0); + this.frame.canvas.getContext('2d').setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0); } // add the frame to the container element @@ -35395,13 +35796,13 @@ return /******/ (function(modules) { // webpackBootstrap this._bindHammer(); } + }, { + key: '_bindHammer', /** * This function binds hammer, it can be repeated over and over due to the uniqueness check. * @private */ - }, { - key: '_bindHammer', value: function _bindHammer() { var _this3 = this; @@ -35462,6 +35863,8 @@ return /******/ (function(modules) { // webpackBootstrap _this3.body.eventListeners.onRelease(event); }); } + }, { + key: 'setSize', /** * Set a new size for the network @@ -35470,8 +35873,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {string} height Height in pixels or percentage (for example '400px' * or '30%') */ - }, { - key: 'setSize', value: function setSize() { var width = arguments.length <= 0 || arguments[0] === undefined ? this.options.width : arguments[0]; var height = arguments.length <= 1 || arguments[1] === undefined ? this.options.height : arguments[1]; @@ -35535,6 +35936,8 @@ return /******/ (function(modules) { // webpackBootstrap value: function _XconvertDOMtoCanvas(x) { return (x - this.body.view.translation.x) / this.body.view.scale; } + }, { + key: '_XconvertCanvasToDOM', /** * Convert the X coordinate in canvas-space (the simulation sandbox, which the camera looks upon) to @@ -35543,11 +35946,11 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: '_XconvertCanvasToDOM', value: function _XconvertCanvasToDOM(x) { return x * this.body.view.scale + this.body.view.translation.x; } + }, { + key: '_YconvertDOMtoCanvas', /** * Convert the Y coordinate in DOM-space (coordinate point in browser relative to the container div) to @@ -35556,11 +35959,11 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: '_YconvertDOMtoCanvas', value: function _YconvertDOMtoCanvas(y) { return (y - this.body.view.translation.y) / this.body.view.scale; } + }, { + key: '_YconvertCanvasToDOM', /** * Convert the Y coordinate in canvas-space (the simulation sandbox, which the camera looks upon) to @@ -35569,11 +35972,11 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: '_YconvertCanvasToDOM', value: function _YconvertCanvasToDOM(y) { return y * this.body.view.scale + this.body.view.translation.y; } + }, { + key: 'canvasToDOM', /** * @@ -35581,11 +35984,11 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{x: number, y: number}} * @constructor */ - }, { - key: 'canvasToDOM', value: function canvasToDOM(pos) { return { x: this._XconvertCanvasToDOM(pos.x), y: this._YconvertCanvasToDOM(pos.y) }; } + }, { + key: 'DOMtoCanvas', /** * @@ -35593,8 +35996,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{x: number, y: number}} * @constructor */ - }, { - key: 'DOMtoCanvas', value: function DOMtoCanvas(pos) { return { x: this._XconvertDOMtoCanvas(pos.x), y: this._YconvertDOMtoCanvas(pos.y) }; } @@ -35607,7 +36008,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 101 */ +/* 103 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -35658,13 +36059,13 @@ return /******/ (function(modules) { // webpackBootstrap this.options = options; } + }, { + key: "_getRange", /** * Find the center position of the network * @private */ - }, { - key: "_getRange", value: function _getRange() { var specificNodes = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0]; @@ -35690,48 +36091,48 @@ return /******/ (function(modules) { // webpackBootstrap } // top is negative, bottom is positive } } else { - for (var i = 0; i < this.body.nodeIndices.length; i++) { - node = this.body.nodes[this.body.nodeIndices[i]]; - if (minX > node.shape.boundingBox.left) { - minX = node.shape.boundingBox.left; - } - if (maxX < node.shape.boundingBox.right) { - maxX = node.shape.boundingBox.right; - } - if (minY > node.shape.boundingBox.top) { - minY = node.shape.boundingBox.top; - } // top is negative, bottom is positive - if (maxY < node.shape.boundingBox.bottom) { - maxY = node.shape.boundingBox.bottom; - } // top is negative, bottom is positive + for (var i = 0; i < this.body.nodeIndices.length; i++) { + node = this.body.nodes[this.body.nodeIndices[i]]; + if (minX > node.shape.boundingBox.left) { + minX = node.shape.boundingBox.left; + } + if (maxX < node.shape.boundingBox.right) { + maxX = node.shape.boundingBox.right; } + if (minY > node.shape.boundingBox.top) { + minY = node.shape.boundingBox.top; + } // top is negative, bottom is positive + if (maxY < node.shape.boundingBox.bottom) { + maxY = node.shape.boundingBox.bottom; + } // top is negative, bottom is positive } + } if (minX === 1e9 && maxX === -1e9 && minY === 1e9 && maxY === -1e9) { minY = 0, maxY = 0, minX = 0, maxX = 0; } return { minX: minX, maxX: maxX, minY: minY, maxY: maxY }; } + }, { + key: "_findCenter", /** * @param {object} range = {minX: minX, maxX: maxX, minY: minY, maxY: maxY}; * @returns {{x: number, y: number}} * @private */ - }, { - key: "_findCenter", value: function _findCenter(range) { return { x: 0.5 * (range.maxX + range.minX), y: 0.5 * (range.maxY + range.minY) }; } + }, { + key: "fit", /** * This function zooms out to fit all data on screen based on amount of nodes * @param {Object} Options * @param {Boolean} [initialZoom] | zoom based on fitted formula or range, true = fitted, default = false; */ - }, { - key: "fit", value: function fit() { var options = arguments.length <= 0 || arguments[0] === undefined ? { nodes: [] } : arguments[0]; var initialZoom = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1]; @@ -35786,6 +36187,8 @@ return /******/ (function(modules) { // webpackBootstrap var animationOptions = { position: center, scale: zoomLevel, animation: options.animation }; this.moveTo(animationOptions); } + }, { + key: "focus", // animation @@ -35795,8 +36198,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Number} nodeId * @param {Number} [options] */ - }, { - key: "focus", value: function focus(nodeId) { var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; @@ -35810,6 +36211,8 @@ return /******/ (function(modules) { // webpackBootstrap console.log("Node: " + nodeId + " cannot be found."); } } + }, { + key: "moveTo", /** * @@ -35818,8 +36221,6 @@ return /******/ (function(modules) { // webpackBootstrap * | options.position = {x:Number, y:Number} // position to move to * | options.animation = {duration:Number, easingFunction:String} || Boolean // position to move to */ - }, { - key: "moveTo", value: function moveTo(options) { if (options === undefined) { options = {}; @@ -35858,6 +36259,8 @@ return /******/ (function(modules) { // webpackBootstrap this.animateView(options); } + }, { + key: "animateView", /** * @@ -35870,8 +36273,6 @@ return /******/ (function(modules) { // webpackBootstrap * // easeInQuart, easeOutQuart, easeInOutQuart, * // easeInQuint, easeOutQuint, easeInOutQuint */ - }, { - key: "animateView", value: function animateView(options) { if (options === undefined) { return; @@ -35926,13 +36327,13 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.emit("_startRendering"); } } + }, { + key: "_lockedRedraw", /** * used to animate smoothly by hijacking the redraw function. * @private */ - }, { - key: "_lockedRedraw", value: function _lockedRedraw() { var nodePosition = { x: this.body.nodes[this.lockedOnNodeId].x, y: this.body.nodes[this.lockedOnNodeId].y }; var viewCenter = this.canvas.DOMtoCanvas({ x: 0.5 * this.canvas.frame.canvas.clientWidth, y: 0.5 * this.canvas.frame.canvas.clientHeight }); @@ -35957,14 +36358,14 @@ return /******/ (function(modules) { // webpackBootstrap this.lockedOnNodeOffset = undefined; } } + }, { + key: "_transitionRedraw", /** * * @param easingTime * @private */ - }, { - key: "_transitionRedraw", value: function _transitionRedraw() { var finished = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0]; @@ -36009,7 +36410,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 102 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36024,11 +36425,11 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsNavigationHandler = __webpack_require__(103); + var _componentsNavigationHandler = __webpack_require__(105); var _componentsNavigationHandler2 = _interopRequireDefault(_componentsNavigationHandler); - var _componentsPopup = __webpack_require__(104); + var _componentsPopup = __webpack_require__(106); var _componentsPopup2 = _interopRequireDefault(_componentsPopup); @@ -36116,6 +36517,8 @@ return /******/ (function(modules) { // webpackBootstrap this.navigationHandler.setOptions(this.options); } + }, { + key: 'getPointer', /** * Get the pointer location from a touch location @@ -36123,22 +36526,20 @@ return /******/ (function(modules) { // webpackBootstrap * @return {{x: Number, y: Number}} pointer * @private */ - }, { - key: 'getPointer', value: function getPointer(touch) { return { x: touch.x - util.getAbsoluteLeft(this.canvas.frame.canvas), y: touch.y - util.getAbsoluteTop(this.canvas.frame.canvas) }; } + }, { + key: 'onTouch', /** * On start of a touch gesture, store the pointer * @param event * @private */ - }, { - key: 'onTouch', value: function onTouch(event) { if (new Date().valueOf() - this.touchTime > 50) { this.drag.pointer = this.getPointer(event.center); @@ -36148,13 +36549,13 @@ return /******/ (function(modules) { // webpackBootstrap this.touchTime = new Date().valueOf(); } } + }, { + key: 'onTap', /** * handle tap/click event: select/unselect a node * @private */ - }, { - key: 'onTap', value: function onTap(event) { var pointer = this.getPointer(event.center); var multiselect = this.selectionHandler.options.multiselect && (event.changedPointers[0].ctrlKey || event.changedPointers[0].metaKey); @@ -36162,24 +36563,24 @@ return /******/ (function(modules) { // webpackBootstrap this.checkSelectionChanges(pointer, event, multiselect); this.selectionHandler._generateClickEvent('click', event, pointer); } + }, { + key: 'onDoubleTap', /** * handle doubletap event * @private */ - }, { - key: 'onDoubleTap', value: function onDoubleTap(event) { var pointer = this.getPointer(event.center); this.selectionHandler._generateClickEvent('doubleClick', event, pointer); } + }, { + key: 'onHold', /** * handle long tap event: multi select nodes * @private */ - }, { - key: 'onHold', value: function onHold(event) { var pointer = this.getPointer(event.center); var multiselect = this.selectionHandler.options.multiselect; @@ -36189,14 +36590,14 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionHandler._generateClickEvent('click', event, pointer); this.selectionHandler._generateClickEvent('hold', event, pointer); } + }, { + key: 'onRelease', /** * handle the release of the screen * * @private */ - }, { - key: 'onRelease', value: function onRelease(event) { if (new Date().valueOf() - this.touchTime > 10) { var pointer = this.getPointer(event.center); @@ -36211,14 +36612,14 @@ return /******/ (function(modules) { // webpackBootstrap var pointer = this.getPointer({ x: event.clientX, y: event.clientY }); this.selectionHandler._generateClickEvent('oncontext', event, pointer); } + }, { + key: 'checkSelectionChanges', /** * * @param pointer * @param add */ - }, { - key: 'checkSelectionChanges', value: function checkSelectionChanges(pointer, event) { var add = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2]; @@ -36273,6 +36674,8 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionHandler._generateClickEvent('select', event, pointer); } } + }, { + key: '_determineIfDifferent', /** * This function checks if the nodes and edges previously selected have changed. @@ -36281,8 +36684,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{nodesChanges: boolean, edgesChanges: boolean}} * @private */ - }, { - key: '_determineIfDifferent', value: function _determineIfDifferent(previousSelection, currentSelection) { var nodesChanges = false; var edgesChanges = false; @@ -36310,6 +36711,8 @@ return /******/ (function(modules) { // webpackBootstrap return { nodesChanges: nodesChanges, edgesChanges: edgesChanges }; } + }, { + key: 'onDragStart', /** * This function is called by onDragStart. @@ -36317,8 +36720,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: 'onDragStart', value: function onDragStart(event) { //in case the touch event was triggered on an external div, do the initial touch now. if (this.drag.pointer === undefined) { @@ -36371,13 +36772,13 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionHandler._generateClickEvent('dragStart', event, this.drag.pointer, undefined, true); } } + }, { + key: 'onDrag', /** * handle drag event * @private */ - }, { - key: 'onDrag', value: function onDrag(event) { var _this2 = this; @@ -36433,13 +36834,13 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'onDragEnd', /** * handle drag start event * @private */ - }, { - key: 'onDragEnd', value: function onDragEnd(event) { this.drag.dragging = false; var selection = this.drag.selection; @@ -36456,14 +36857,14 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.emit('_requestRedraw'); } } + }, { + key: 'onPinch', /** * Handle pinch event * @param event * @private */ - }, { - key: 'onPinch', value: function onPinch(event) { var pointer = this.getPointer(event.center); @@ -36476,6 +36877,8 @@ return /******/ (function(modules) { // webpackBootstrap var scale = this.pinch.scale * event.scale; this.zoom(scale, pointer); } + }, { + key: 'zoom', /** * Zoom the network in or out @@ -36484,8 +36887,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Number} appliedScale scale is limited within the boundaries * @private */ - }, { - key: 'zoom', value: function zoom(scale, pointer) { if (this.options.zoomView === true) { var scaleOld = this.body.view.scale; @@ -36527,6 +36928,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'onMouseWheel', /** * Event handler for mouse wheel event, used to zoom the timeline @@ -36535,8 +36938,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {MouseEvent} event * @private */ - }, { - key: 'onMouseWheel', value: function onMouseWheel(event) { // retrieve delta var delta = 0; @@ -36573,14 +36974,14 @@ return /******/ (function(modules) { // webpackBootstrap // Prevent default actions caused by mouse wheel. event.preventDefault(); } + }, { + key: 'onMouseMove', /** * Mouse move handler for checking whether the title moves over a node with a title. * @param {Event} event * @private */ - }, { - key: 'onMouseMove', value: function onMouseMove(event) { var _this3 = this; @@ -36631,6 +37032,8 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionHandler.hoverObject(obj); } } + }, { + key: '_checkShowPopup', /** * Check if there is an element on the given position in the network @@ -36640,8 +37043,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {{x:Number, y:Number}} pointer * @private */ - }, { - key: '_checkShowPopup', value: function _checkShowPopup(pointer) { var x = this.canvas._XconvertDOMtoCanvas(pointer.x); var y = this.canvas._YconvertDOMtoCanvas(pointer.y); @@ -36726,6 +37127,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_checkHidePopup', /** * Check if the popup must be hidden, which is the case when the mouse is no @@ -36733,8 +37136,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {{x:Number, y:Number}} pointer * @private */ - }, { - key: '_checkHidePopup', value: function _checkHidePopup(pointer) { var pointerObj = this.selectionHandler._pointerToPositionObject(pointer); @@ -36773,7 +37174,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 103 */ +/* 105 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36806,13 +37207,13 @@ return /******/ (function(modules) { // webpackBootstrap this.touchTime = 0; this.activated = false; - this.body.emitter.on("activate", function () { + this.body.emitter.on('activate', function () { _this.activated = true;_this.configureKeyboardBindings(); }); - this.body.emitter.on("deactivate", function () { + this.body.emitter.on('deactivate', function () { _this.activated = false;_this.configureKeyboardBindings(); }); - this.body.emitter.on("destroy", function () { + this.body.emitter.on('destroy', function () { if (_this.keycharm !== undefined) { _this.keycharm.destroy(); } @@ -36860,6 +37261,8 @@ return /******/ (function(modules) { // webpackBootstrap this.iconsCreated = false; } + }, { + key: 'loadNavigationElements', /** * Creation of the navigation controls nodes. They are drawn over the rest of the nodes and are not affected by scale and translation @@ -36869,8 +37272,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: 'loadNavigationElements', value: function loadNavigationElements() { var _this2 = this; @@ -36890,7 +37291,7 @@ return /******/ (function(modules) { // webpackBootstrap this.navigationDOM['wrapper'].appendChild(this.navigationDOM[navigationDivs[i]]); var hammer = new Hammer(this.navigationDOM[navigationDivs[i]]); - if (navigationDivActions[i] === "_fit") { + if (navigationDivActions[i] === '_fit') { hammerUtil.onTouch(hammer, this._fit.bind(this)); } else { hammerUtil.onTouch(hammer, this.bindToRedraw.bind(this, navigationDivActions[i])); @@ -36914,47 +37315,47 @@ return /******/ (function(modules) { // webpackBootstrap value: function bindToRedraw(action) { if (this.boundFunctions[action] === undefined) { this.boundFunctions[action] = this[action].bind(this); - this.body.emitter.on("initRedraw", this.boundFunctions[action]); - this.body.emitter.emit("_startRendering"); + this.body.emitter.on('initRedraw', this.boundFunctions[action]); + this.body.emitter.emit('_startRendering'); } } }, { key: 'unbindFromRedraw', value: function unbindFromRedraw(action) { if (this.boundFunctions[action] !== undefined) { - this.body.emitter.off("initRedraw", this.boundFunctions[action]); - this.body.emitter.emit("_stopRendering"); + this.body.emitter.off('initRedraw', this.boundFunctions[action]); + this.body.emitter.emit('_stopRendering'); delete this.boundFunctions[action]; } } + }, { + key: '_fit', /** * this stops all movement induced by the navigation buttons * * @private */ - }, { - key: '_fit', value: function _fit() { if (new Date().valueOf() - this.touchTime > 700) { // TODO: fix ugly hack to avoid hammer's double fireing of event (because we use release?) - this.body.emitter.emit("fit", { duration: 700 }); + this.body.emitter.emit('fit', { duration: 700 }); this.touchTime = new Date().valueOf(); } } + }, { + key: '_stopMovement', /** * this stops all movement induced by the navigation buttons * * @private */ - }, { - key: '_stopMovement', value: function _stopMovement() { for (var boundAction in this.boundFunctions) { if (this.boundFunctions.hasOwnProperty(boundAction)) { - this.body.emitter.off("initRedraw", this.boundFunctions[boundAction]); - this.body.emitter.emit("_stopRendering"); + this.body.emitter.off('initRedraw', this.boundFunctions[boundAction]); + this.body.emitter.emit('_stopRendering'); } } this.boundFunctions = {}; @@ -36991,12 +37392,12 @@ return /******/ (function(modules) { // webpackBootstrap this.body.view.scale /= 1 + this.options.keyboard.speed.zoom; this.body.emitter.emit('zoom', { direction: '-', scale: this.body.view.scale }); } + }, { + key: 'configureKeyboardBindings', /** * bind all keys using keycharm. */ - }, { - key: 'configureKeyboardBindings', value: function configureKeyboardBindings() { var _this3 = this; @@ -37014,79 +37415,79 @@ return /******/ (function(modules) { // webpackBootstrap this.keycharm.reset(); if (this.activated === true) { - this.keycharm.bind("up", function () { - _this3.bindToRedraw("_moveUp"); - }, "keydown"); - this.keycharm.bind("down", function () { - _this3.bindToRedraw("_moveDown"); - }, "keydown"); - this.keycharm.bind("left", function () { - _this3.bindToRedraw("_moveLeft"); - }, "keydown"); - this.keycharm.bind("right", function () { - _this3.bindToRedraw("_moveRight"); - }, "keydown"); - this.keycharm.bind("=", function () { - _this3.bindToRedraw("_zoomIn"); - }, "keydown"); - this.keycharm.bind("num+", function () { - _this3.bindToRedraw("_zoomIn"); - }, "keydown"); - this.keycharm.bind("num-", function () { - _this3.bindToRedraw("_zoomOut"); - }, "keydown"); - this.keycharm.bind("-", function () { - _this3.bindToRedraw("_zoomOut"); - }, "keydown"); - this.keycharm.bind("[", function () { - _this3.bindToRedraw("_zoomOut"); - }, "keydown"); - this.keycharm.bind("]", function () { - _this3.bindToRedraw("_zoomIn"); - }, "keydown"); - this.keycharm.bind("pageup", function () { - _this3.bindToRedraw("_zoomIn"); - }, "keydown"); - this.keycharm.bind("pagedown", function () { - _this3.bindToRedraw("_zoomOut"); - }, "keydown"); - - this.keycharm.bind("up", function () { - _this3.unbindFromRedraw("_moveUp"); - }, "keyup"); - this.keycharm.bind("down", function () { - _this3.unbindFromRedraw("_moveDown"); - }, "keyup"); - this.keycharm.bind("left", function () { - _this3.unbindFromRedraw("_moveLeft"); - }, "keyup"); - this.keycharm.bind("right", function () { - _this3.unbindFromRedraw("_moveRight"); - }, "keyup"); - this.keycharm.bind("=", function () { - _this3.unbindFromRedraw("_zoomIn"); - }, "keyup"); - this.keycharm.bind("num+", function () { - _this3.unbindFromRedraw("_zoomIn"); - }, "keyup"); - this.keycharm.bind("num-", function () { - _this3.unbindFromRedraw("_zoomOut"); - }, "keyup"); - this.keycharm.bind("-", function () { - _this3.unbindFromRedraw("_zoomOut"); - }, "keyup"); - this.keycharm.bind("[", function () { - _this3.unbindFromRedraw("_zoomOut"); - }, "keyup"); - this.keycharm.bind("]", function () { - _this3.unbindFromRedraw("_zoomIn"); - }, "keyup"); - this.keycharm.bind("pageup", function () { - _this3.unbindFromRedraw("_zoomIn"); - }, "keyup"); - this.keycharm.bind("pagedown", function () { - _this3.unbindFromRedraw("_zoomOut"); - }, "keyup"); + this.keycharm.bind('up', function () { + _this3.bindToRedraw('_moveUp'); + }, 'keydown'); + this.keycharm.bind('down', function () { + _this3.bindToRedraw('_moveDown'); + }, 'keydown'); + this.keycharm.bind('left', function () { + _this3.bindToRedraw('_moveLeft'); + }, 'keydown'); + this.keycharm.bind('right', function () { + _this3.bindToRedraw('_moveRight'); + }, 'keydown'); + this.keycharm.bind('=', function () { + _this3.bindToRedraw('_zoomIn'); + }, 'keydown'); + this.keycharm.bind('num+', function () { + _this3.bindToRedraw('_zoomIn'); + }, 'keydown'); + this.keycharm.bind('num-', function () { + _this3.bindToRedraw('_zoomOut'); + }, 'keydown'); + this.keycharm.bind('-', function () { + _this3.bindToRedraw('_zoomOut'); + }, 'keydown'); + this.keycharm.bind('[', function () { + _this3.bindToRedraw('_zoomOut'); + }, 'keydown'); + this.keycharm.bind(']', function () { + _this3.bindToRedraw('_zoomIn'); + }, 'keydown'); + this.keycharm.bind('pageup', function () { + _this3.bindToRedraw('_zoomIn'); + }, 'keydown'); + this.keycharm.bind('pagedown', function () { + _this3.bindToRedraw('_zoomOut'); + }, 'keydown'); + + this.keycharm.bind('up', function () { + _this3.unbindFromRedraw('_moveUp'); + }, 'keyup'); + this.keycharm.bind('down', function () { + _this3.unbindFromRedraw('_moveDown'); + }, 'keyup'); + this.keycharm.bind('left', function () { + _this3.unbindFromRedraw('_moveLeft'); + }, 'keyup'); + this.keycharm.bind('right', function () { + _this3.unbindFromRedraw('_moveRight'); + }, 'keyup'); + this.keycharm.bind('=', function () { + _this3.unbindFromRedraw('_zoomIn'); + }, 'keyup'); + this.keycharm.bind('num+', function () { + _this3.unbindFromRedraw('_zoomIn'); + }, 'keyup'); + this.keycharm.bind('num-', function () { + _this3.unbindFromRedraw('_zoomOut'); + }, 'keyup'); + this.keycharm.bind('-', function () { + _this3.unbindFromRedraw('_zoomOut'); + }, 'keyup'); + this.keycharm.bind('[', function () { + _this3.unbindFromRedraw('_zoomOut'); + }, 'keyup'); + this.keycharm.bind(']', function () { + _this3.unbindFromRedraw('_zoomIn'); + }, 'keyup'); + this.keycharm.bind('pageup', function () { + _this3.unbindFromRedraw('_zoomIn'); + }, 'keyup'); + this.keycharm.bind('pagedown', function () { + _this3.unbindFromRedraw('_zoomOut'); + }, 'keyup'); } } } @@ -37099,7 +37500,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 104 */ +/* 106 */ /***/ function(module, exports) { /** @@ -37138,24 +37539,24 @@ return /******/ (function(modules) { // webpackBootstrap this.container.appendChild(this.frame); } - /** - * @param {number} x Horizontal position of the popup window - * @param {number} y Vertical position of the popup window - */ - _createClass(Popup, [{ key: 'setPosition', + + /** + * @param {number} x Horizontal position of the popup window + * @param {number} y Vertical position of the popup window + */ value: function setPosition(x, y) { this.x = parseInt(x); this.y = parseInt(y); } + }, { + key: 'setText', /** * Set the content for the popup window. This can be HTML code or text. * @param {string | Element} content */ - }, { - key: 'setText', value: function setText(content) { if (content instanceof Element) { this.frame.innerHTML = ''; @@ -37164,13 +37565,13 @@ return /******/ (function(modules) { // webpackBootstrap this.frame.innerHTML = content; // string containing text or HTML } } + }, { + key: 'show', /** * Show the popup window * @param {boolean} [doShow] Show or hide the window */ - }, { - key: 'show', value: function show(doShow) { if (doShow === undefined) { doShow = true; @@ -37198,23 +37599,23 @@ return /******/ (function(modules) { // webpackBootstrap left = this.padding; } - this.frame.style.left = left + "px"; - this.frame.style.top = top + "px"; - this.frame.style.visibility = "visible"; + this.frame.style.left = left + 'px'; + this.frame.style.top = top + 'px'; + this.frame.style.visibility = 'visible'; this.hidden = false; } else { this.hide(); } } + }, { + key: 'hide', /** * Hide the popup window */ - }, { - key: 'hide', value: function hide() { this.hidden = true; - this.frame.style.visibility = "hidden"; + this.frame.style.visibility = 'hidden'; } }]); @@ -37225,7 +37626,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 105 */ +/* 107 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -37271,10 +37672,12 @@ return /******/ (function(modules) { // webpackBootstrap key: "setOptions", value: function setOptions(options) { if (options !== undefined) { - var fields = ['multiselect', 'hoverConnectedEdges', 'selectable', 'selectConnectedEdges']; + var fields = ["multiselect", "hoverConnectedEdges", "selectable", "selectConnectedEdges"]; util.selectiveDeepExtend(fields, this.options, options); } } + }, { + key: "selectOnPoint", /** * handles the selection part of the tap; @@ -37282,8 +37685,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} pointer * @private */ - }, { - key: "selectOnPoint", value: function selectOnPoint(pointer) { var selected = false; if (this.options.selectable === true) { @@ -37330,14 +37731,14 @@ return /******/ (function(modules) { // webpackBootstrap } else { properties = this.getSelection(); } - properties['pointer'] = { + properties["pointer"] = { DOM: { x: pointer.x, y: pointer.y }, canvas: this.canvas.DOMtoCanvas(pointer) }; - properties['event'] = event; + properties["event"] = event; if (oldSelection !== undefined) { - properties['previousSelection'] = oldSelection; + properties["previousSelection"] = oldSelection; } this.body.emitter.emit(eventType, properties); } @@ -37366,6 +37767,8 @@ return /******/ (function(modules) { // webpackBootstrap this._removeFromSelection(obj); } } + }, { + key: "_getAllNodesOverlappingWith", /** * retrieve all nodes overlapping with given object @@ -37373,8 +37776,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Number[]} An array with id's of the overlapping nodes * @private */ - }, { - key: "_getAllNodesOverlappingWith", value: function _getAllNodesOverlappingWith(object) { var overlappingNodes = []; var nodes = this.body.nodes; @@ -37386,6 +37787,8 @@ return /******/ (function(modules) { // webpackBootstrap } return overlappingNodes; } + }, { + key: "_pointerToPositionObject", /** * Return a position object in canvasspace from a single point in screenspace @@ -37394,8 +37797,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{left: number, top: number, right: number, bottom: number}} * @private */ - }, { - key: "_pointerToPositionObject", value: function _pointerToPositionObject(pointer) { var canvasPos = this.canvas.DOMtoCanvas(pointer); return { @@ -37405,6 +37806,8 @@ return /******/ (function(modules) { // webpackBootstrap bottom: canvasPos.y - 1 }; } + }, { + key: "getNodeAt", /** * Get the top node at the a specific point (like a click) @@ -37413,8 +37816,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Node | undefined} node * @private */ - }, { - key: "getNodeAt", value: function getNodeAt(pointer) { var returnNode = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; @@ -37433,6 +37834,8 @@ return /******/ (function(modules) { // webpackBootstrap return undefined; } } + }, { + key: "_getEdgesOverlappingWith", /** * retrieve all edges overlapping with given object, selector is around center @@ -37440,8 +37843,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Number[]} An array with id's of the overlapping nodes * @private */ - }, { - key: "_getEdgesOverlappingWith", value: function _getEdgesOverlappingWith(object, overlappingEdges) { var edges = this.body.edges; for (var i = 0; i < this.body.edgeIndices.length; i++) { @@ -37451,6 +37852,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_getAllEdgesOverlappingWith", /** * retrieve all nodes overlapping with given object @@ -37458,13 +37861,13 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Number[]} An array with id's of the overlapping nodes * @private */ - }, { - key: "_getAllEdgesOverlappingWith", value: function _getAllEdgesOverlappingWith(object) { var overlappingEdges = []; this._getEdgesOverlappingWith(object, overlappingEdges); return overlappingEdges; } + }, { + key: "getEdgeAt", /** * Place holder. To implement change the getNodeAt to a _getObjectAt. Have the _getObjectAt call @@ -37474,8 +37877,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {undefined} * @private */ - }, { - key: "getEdgeAt", value: function getEdgeAt(pointer) { var returnEdge = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; @@ -37492,6 +37893,8 @@ return /******/ (function(modules) { // webpackBootstrap return undefined; } } + }, { + key: "_addToSelection", /** * Add object to the selection array. @@ -37499,8 +37902,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param obj * @private */ - }, { - key: "_addToSelection", value: function _addToSelection(obj) { if (obj instanceof Node) { this.selectionObj.nodes[obj.id] = obj; @@ -37508,6 +37909,8 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionObj.edges[obj.id] = obj; } } + }, { + key: "_addToHover", /** * Add object to the selection array. @@ -37515,8 +37918,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param obj * @private */ - }, { - key: "_addToHover", value: function _addToHover(obj) { if (obj instanceof Node) { this.hoverObj.nodes[obj.id] = obj; @@ -37524,6 +37925,8 @@ return /******/ (function(modules) { // webpackBootstrap this.hoverObj.edges[obj.id] = obj; } } + }, { + key: "_removeFromSelection", /** * Remove a single option from selection. @@ -37531,8 +37934,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} obj * @private */ - }, { - key: "_removeFromSelection", value: function _removeFromSelection(obj) { if (obj instanceof Node) { delete this.selectionObj.nodes[obj.id]; @@ -37540,14 +37941,14 @@ return /******/ (function(modules) { // webpackBootstrap delete this.selectionObj.edges[obj.id]; } } + }, { + key: "unselectAll", /** * Unselect all. The selectionObj is useful for this. * * @private */ - }, { - key: "unselectAll", value: function unselectAll() { for (var nodeId in this.selectionObj.nodes) { if (this.selectionObj.nodes.hasOwnProperty(nodeId)) { @@ -37562,6 +37963,8 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionObj = { nodes: {}, edges: {} }; } + }, { + key: "_getSelectedNodeCount", /** * return the number of selected nodes @@ -37569,8 +37972,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: "_getSelectedNodeCount", value: function _getSelectedNodeCount() { var count = 0; for (var nodeId in this.selectionObj.nodes) { @@ -37580,6 +37981,8 @@ return /******/ (function(modules) { // webpackBootstrap } return count; } + }, { + key: "_getSelectedNode", /** * return the selected node @@ -37587,8 +37990,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: "_getSelectedNode", value: function _getSelectedNode() { for (var nodeId in this.selectionObj.nodes) { if (this.selectionObj.nodes.hasOwnProperty(nodeId)) { @@ -37597,6 +37998,8 @@ return /******/ (function(modules) { // webpackBootstrap } return undefined; } + }, { + key: "_getSelectedEdge", /** * return the selected edge @@ -37604,8 +38007,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: "_getSelectedEdge", value: function _getSelectedEdge() { for (var edgeId in this.selectionObj.edges) { if (this.selectionObj.edges.hasOwnProperty(edgeId)) { @@ -37614,6 +38015,8 @@ return /******/ (function(modules) { // webpackBootstrap } return undefined; } + }, { + key: "_getSelectedEdgeCount", /** * return the number of selected edges @@ -37621,8 +38024,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: "_getSelectedEdgeCount", value: function _getSelectedEdgeCount() { var count = 0; for (var edgeId in this.selectionObj.edges) { @@ -37632,6 +38033,8 @@ return /******/ (function(modules) { // webpackBootstrap } return count; } + }, { + key: "_getSelectedObjectCount", /** * return the number of selected objects. @@ -37639,8 +38042,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: "_getSelectedObjectCount", value: function _getSelectedObjectCount() { var count = 0; for (var nodeId in this.selectionObj.nodes) { @@ -37655,6 +38056,8 @@ return /******/ (function(modules) { // webpackBootstrap } return count; } + }, { + key: "_selectionIsEmpty", /** * Check if anything is selected @@ -37662,8 +38065,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {boolean} * @private */ - }, { - key: "_selectionIsEmpty", value: function _selectionIsEmpty() { for (var nodeId in this.selectionObj.nodes) { if (this.selectionObj.nodes.hasOwnProperty(nodeId)) { @@ -37677,6 +38078,8 @@ return /******/ (function(modules) { // webpackBootstrap } return true; } + }, { + key: "_clusterInSelection", /** * check if one of the selected nodes is a cluster. @@ -37684,8 +38087,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {boolean} * @private */ - }, { - key: "_clusterInSelection", value: function _clusterInSelection() { for (var nodeId in this.selectionObj.nodes) { if (this.selectionObj.nodes.hasOwnProperty(nodeId)) { @@ -37696,6 +38097,8 @@ return /******/ (function(modules) { // webpackBootstrap } return false; } + }, { + key: "_selectConnectedEdges", /** * select the edges connected to the node that is being selected @@ -37703,8 +38106,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Node} node * @private */ - }, { - key: "_selectConnectedEdges", value: function _selectConnectedEdges(node) { for (var i = 0; i < node.edges.length; i++) { var edge = node.edges[i]; @@ -37712,6 +38113,8 @@ return /******/ (function(modules) { // webpackBootstrap this._addToSelection(edge); } } + }, { + key: "_hoverConnectedEdges", /** * select the edges connected to the node that is being selected @@ -37719,8 +38122,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Node} node * @private */ - }, { - key: "_hoverConnectedEdges", value: function _hoverConnectedEdges(node) { for (var i = 0; i < node.edges.length; i++) { var edge = node.edges[i]; @@ -37728,6 +38129,8 @@ return /******/ (function(modules) { // webpackBootstrap this._addToHover(edge); } } + }, { + key: "_unselectConnectedEdges", /** * unselect the edges connected to the node that is being selected @@ -37735,8 +38138,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Node} node * @private */ - }, { - key: "_unselectConnectedEdges", value: function _unselectConnectedEdges(node) { for (var i = 0; i < node.edges.length; i++) { var edge = node.edges[i]; @@ -37744,6 +38145,8 @@ return /******/ (function(modules) { // webpackBootstrap this._removeFromSelection(edge); } } + }, { + key: "blurObject", /** * This is called when someone clicks on a node. either select or deselect it. @@ -37752,8 +38155,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Node || Edge} object * @private */ - }, { - key: "blurObject", value: function blurObject(object) { if (object.hover === true) { object.hover = false; @@ -37764,6 +38165,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "hoverObject", /** * This is called when someone clicks on a node. either select or deselect it. @@ -37772,8 +38175,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Node || Edge} object * @private */ - }, { - key: "hoverObject", value: function hoverObject(object) { var hoverChanged = false; // remove all node hover highlights @@ -37798,10 +38199,10 @@ return /******/ (function(modules) { // webpackBootstrap } // if the blur remains the same and the object is undefined (mouse off), we blur the edge else if (object === undefined) { - this.blurObject(this.hoverObj.edges[edgeId]); - delete this.hoverObj.edges[edgeId]; - hoverChanged = true; - } + this.blurObject(this.hoverObj.edges[edgeId]); + delete this.hoverObj.edges[edgeId]; + hoverChanged = true; + } } } @@ -37822,22 +38223,24 @@ return /******/ (function(modules) { // webpackBootstrap } if (hoverChanged === true) { - this.body.emitter.emit('_requestRedraw'); + this.body.emitter.emit("_requestRedraw"); } } + }, { + key: "getSelection", /** * * retrieve the currently selected objects * @return {{nodes: Array., edges: Array.}} selection */ - }, { - key: "getSelection", value: function getSelection() { var nodeIds = this.getSelectedNodes(); var edgeIds = this.getSelectedEdges(); return { nodes: nodeIds, edges: edgeIds }; } + }, { + key: "getSelectedNodes", /** * @@ -37845,8 +38248,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {String[]} selection An array with the ids of the * selected nodes. */ - }, { - key: "getSelectedNodes", value: function getSelectedNodes() { var idArray = []; if (this.options.selectable === true) { @@ -37858,6 +38259,8 @@ return /******/ (function(modules) { // webpackBootstrap } return idArray; } + }, { + key: "getSelectedEdges", /** * @@ -37865,8 +38268,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Array} selection An array with the ids of the * selected nodes. */ - }, { - key: "getSelectedEdges", value: function getSelectedEdges() { var idArray = []; if (this.options.selectable === true) { @@ -37878,6 +38279,8 @@ return /******/ (function(modules) { // webpackBootstrap } return idArray; } + }, { + key: "selectNodes", /** * select zero or more nodes with the option to highlight edges @@ -37885,15 +38288,13 @@ return /******/ (function(modules) { // webpackBootstrap * selected nodes. * @param {boolean} [highlightEdges] */ - }, { - key: "selectNodes", value: function selectNodes(selection) { var highlightEdges = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1]; var i = undefined, id = undefined; - if (!selection || selection.length === undefined) throw 'Selection must be an array with ids'; + if (!selection || selection.length === undefined) throw "Selection must be an array with ids"; // first unselect any selected node this.unselectAll(); @@ -37903,25 +38304,25 @@ return /******/ (function(modules) { // webpackBootstrap var node = this.body.nodes[id]; if (!node) { - throw new RangeError('Node with id "' + id + '" not found'); + throw new RangeError("Node with id \"" + id + "\" not found"); } this.selectObject(node, highlightEdges); } - this.body.emitter.emit('_requestRedraw'); + this.body.emitter.emit("_requestRedraw"); } + }, { + key: "selectEdges", /** * select zero or more edges * @param {Number[] | String[]} selection An array with the ids of the * selected nodes. */ - }, { - key: "selectEdges", value: function selectEdges(selection) { var i = undefined, id = undefined; - if (!selection || selection.length === undefined) throw 'Selection must be an array with ids'; + if (!selection || selection.length === undefined) throw "Selection must be an array with ids"; // first unselect any selected objects this.unselectAll(); @@ -37931,19 +38332,19 @@ return /******/ (function(modules) { // webpackBootstrap var edge = this.body.edges[id]; if (!edge) { - throw new RangeError('Edge with id "' + id + '" not found'); + throw new RangeError("Edge with id \"" + id + "\" not found"); } this.selectObject(edge); } - this.body.emitter.emit('_requestRedraw'); + this.body.emitter.emit("_requestRedraw"); } + }, { + key: "updateSelection", /** * Validate the selection: remove ids of nodes which no longer exist * @private */ - }, { - key: "updateSelection", value: function updateSelection() { for (var nodeId in this.selectionObj.nodes) { if (this.selectionObj.nodes.hasOwnProperty(nodeId)) { @@ -37969,7 +38370,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports["default"]; /***/ }, -/* 106 */ +/* 108 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38109,12 +38510,14 @@ return /******/ (function(modules) { // webpackBootstrap this.optionsBackup.edges = { smooth: allOptions.edges.smooth.enabled === undefined ? true : allOptions.edges.smooth.enabled, type: allOptions.edges.smooth.type === undefined ? 'dynamic' : allOptions.edges.smooth.type, - roundness: allOptions.edges.smooth.roundness === undefined ? 0.5 : allOptions.edges.smooth.roundness + roundness: allOptions.edges.smooth.roundness === undefined ? 0.5 : allOptions.edges.smooth.roundness, + forceDirection: allOptions.edges.smooth.forceDirection === undefined ? false : allOptions.edges.smooth.forceDirection }; allOptions.edges.smooth = { enabled: allOptions.edges.smooth.enabled === undefined ? true : allOptions.edges.smooth.enabled, type: type, - roundness: allOptions.edges.smooth.roundness === undefined ? 0.5 : allOptions.edges.smooth.roundness + roundness: allOptions.edges.smooth.roundness === undefined ? 0.5 : allOptions.edges.smooth.roundness, + forceDirection: allOptions.edges.smooth.forceDirection === undefined ? false : allOptions.edges.smooth.forceDirection }; } } @@ -38153,6 +38556,8 @@ return /******/ (function(modules) { // webpackBootstrap value: function getSeed() { return this.initialRandomSeed; } + }, { + key: 'setupHierarchicalLayout', /** * This is the main function to layout the nodes in a hierarchical way. @@ -38160,8 +38565,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: 'setupHierarchicalLayout', value: function setupHierarchicalLayout() { if (this.options.hierarchical.enabled === true && this.body.nodeIndices.length > 0) { // get the size of the largest hubs and check if the user has defined a level for a node. @@ -38209,6 +38612,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_placeNodesByHierarchy', /** * This function places the nodes on the canvas based on the hierarchial distribution. @@ -38216,8 +38621,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} distribution | obtained by the function this._getDistribution() * @private */ - }, { - key: '_placeNodesByHierarchy', value: function _placeNodesByHierarchy(distribution) { var nodeId = undefined, node = undefined; @@ -38249,6 +38652,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_getDistribution', /** * This function get the distribution of levels based on hubsize @@ -38256,8 +38661,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Object} * @private */ - }, { - key: '_getDistribution', value: function _getDistribution() { var distribution = {}; var nodeId = undefined, @@ -38285,6 +38688,8 @@ return /******/ (function(modules) { // webpackBootstrap } return distribution; } + }, { + key: '_getHubSize', /** * Get the hubsize from all remaining unlevelled nodes. @@ -38292,8 +38697,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: '_getHubSize', value: function _getHubSize() { var hubSize = 0; for (var nodeId in this.body.nodes) { @@ -38306,6 +38709,8 @@ return /******/ (function(modules) { // webpackBootstrap } return hubSize; } + }, { + key: '_determineLevelsByHubsize', /** * this function allocates nodes in levels based on the recursive branching from the largest hubs. @@ -38313,8 +38718,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param hubsize * @private */ - }, { - key: '_determineLevelsByHubsize', value: function _determineLevelsByHubsize() { var nodeId = undefined, node = undefined; @@ -38335,6 +38738,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_setLevelByHubsize', /** * this function is called recursively to enumerate the barnches of the largest hubs and give each node a level. @@ -38344,8 +38749,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentId * @private */ - }, { - key: '_setLevelByHubsize', value: function _setLevelByHubsize(level, node) { if (this.hierarchicalLevels[node.id] !== undefined) return; @@ -38360,6 +38763,8 @@ return /******/ (function(modules) { // webpackBootstrap this._setLevelByHubsize(level + 1, childNode); } } + }, { + key: '_determineLevelsDirected', /** * this function allocates nodes in levels based on the direction of the edges @@ -38367,8 +38772,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param hubsize * @private */ - }, { - key: '_determineLevelsDirected', value: function _determineLevelsDirected() { var nodeId = undefined, node = undefined; @@ -38396,6 +38799,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_setLevelDirected', /** * this function is called recursively to enumerate the branched of the first node and give each node a level based on edge direction @@ -38405,8 +38810,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentId * @private */ - }, { - key: '_setLevelDirected', value: function _setLevelDirected(level, node) { if (this.hierarchicalLevels[node.id] !== undefined) return; @@ -38423,6 +38826,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_placeBranchNodes', /** * This is a recursively called function to enumerate the branches from the largest hubs and place the nodes @@ -38434,8 +38839,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentLevel * @private */ - }, { - key: '_placeBranchNodes', value: function _placeBranchNodes(edges, parentId, distribution, parentLevel) { for (var i = 0; i < edges.length; i++) { var childNode = undefined; @@ -38482,7 +38885,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 107 */ +/* 109 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38557,13 +38960,13 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.on('_resetData', this._restore.bind(this)); } - /** - * If something changes in the data during editing, switch back to the initial datamanipulation state and close all edit modes. - * @private - */ - _createClass(ManipulationSystem, [{ key: '_restore', + + /** + * If something changes in the data during editing, switch back to the initial datamanipulation state and close all edit modes. + * @private + */ value: function _restore() { if (this.inMode !== false) { if (this.options.initiallyActive === true) { @@ -38573,13 +38976,13 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'setOptions', /** * Set the Options * @param options */ - }, { - key: 'setOptions', value: function setOptions(options, allOptions, globalOptions) { if (allOptions !== undefined) { if (allOptions.locale !== undefined) { @@ -38607,14 +39010,14 @@ return /******/ (function(modules) { // webpackBootstrap this._setup(); } } + }, { + key: 'toggleEditMode', /** * Enable or disable edit-mode. Draws the DOM required and cleans up after itself. * * @private */ - }, { - key: 'toggleEditMode', value: function toggleEditMode() { if (this.editMode === true) { this.disableEditMode(); @@ -38648,14 +39051,14 @@ return /******/ (function(modules) { // webpackBootstrap this._createEditButton(); } } + }, { + key: 'showManipulatorToolbar', /** * Creates the main toolbar. Removes functions bound to the select event. Binds all the buttons of the toolbar. * * @private */ - }, { - key: 'showManipulatorToolbar', value: function showManipulatorToolbar() { // restore the state of any bound functions or events, remove control nodes, restore physics this._clean(); @@ -38730,14 +39133,14 @@ return /******/ (function(modules) { // webpackBootstrap // redraw to show any possible changes this.body.emitter.emit('_redraw'); } + }, { + key: 'addNodeMode', /** * Create the toolbar for adding Nodes * * @private */ - }, { - key: 'addNodeMode', value: function addNodeMode() { // when using the gui, enable edit mode if it wasnt already. if (this.editMode !== true) { @@ -38761,14 +39164,14 @@ return /******/ (function(modules) { // webpackBootstrap this._temporaryBindEvent('click', this._performAddNode.bind(this)); } + }, { + key: 'editNode', /** * call the bound function to handle the editing of the node. The node has to be selected. * * @private */ - }, { - key: 'editNode', value: function editNode() { var _this2 = this; @@ -38809,14 +39212,14 @@ return /******/ (function(modules) { // webpackBootstrap this.showManipulatorToolbar(); } } + }, { + key: 'addEdgeMode', /** * create the toolbar to connect nodes * * @private */ - }, { - key: 'addEdgeMode', value: function addEdgeMode() { // when using the gui, enable edit mode if it wasnt already. if (this.editMode !== true) { @@ -38847,14 +39250,14 @@ return /******/ (function(modules) { // webpackBootstrap this._temporaryBindUI('onDragStart', function () {}); this._temporaryBindUI('onHold', function () {}); } + }, { + key: 'editEdgeMode', /** * create the toolbar to edit edges * * @private */ - }, { - key: 'editEdgeMode', value: function editEdgeMode() { var _this3 = this; @@ -38924,14 +39327,14 @@ return /******/ (function(modules) { // webpackBootstrap this.showManipulatorToolbar(); } } + }, { + key: 'deleteSelected', /** * delete everything in the selection * * @private */ - }, { - key: 'deleteSelected', value: function deleteSelected() { var _this4 = this; @@ -38989,6 +39392,8 @@ return /******/ (function(modules) { // webpackBootstrap this.showManipulatorToolbar(); } } + }, { + key: '_setup', //********************************************** PRIVATE ***************************************// @@ -38996,8 +39401,6 @@ return /******/ (function(modules) { // webpackBootstrap * draw or remove the DOM * @private */ - }, { - key: '_setup', value: function _setup() { if (this.options.enabled === true) { // Enable the GUI @@ -39016,13 +39419,13 @@ return /******/ (function(modules) { // webpackBootstrap this.guiEnabled = false; } } + }, { + key: '_createWrappers', /** * create the div overlays that contain the DOM * @private */ - }, { - key: '_createWrappers', value: function _createWrappers() { // load the manipulator HTML elements. All styling done in css. if (this.manipulationDiv === undefined) { @@ -39056,6 +39459,8 @@ return /******/ (function(modules) { // webpackBootstrap this.canvas.frame.appendChild(this.closeDiv); } } + }, { + key: '_getNewTargetNode', /** * generate a new target node. Used for creating new edges and editing edges @@ -39064,8 +39469,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_getNewTargetNode', value: function _getNewTargetNode(x, y) { var controlNodeStyle = util.deepExtend({}, this.options.controlNodeStyle); @@ -39077,12 +39480,12 @@ return /******/ (function(modules) { // webpackBootstrap return this.body.functions.createNode(controlNodeStyle); } + }, { + key: '_createEditButton', /** * Create the edit button */ - }, { - key: '_createEditButton', value: function _createEditButton() { // restore everything to it's original state (if applicable) this._clean(); @@ -39101,13 +39504,13 @@ return /******/ (function(modules) { // webpackBootstrap // bind a hammer listener to the button, calling the function toggleEditMode. this._bindHammerToDiv(button, this.toggleEditMode.bind(this)); } + }, { + key: '_clean', /** * this function cleans up after everything this module does. Temporary elements, functions and events are removed, physics restored, hammers removed. * @private */ - }, { - key: '_clean', value: function _clean() { // not in mode this.inMode = false; @@ -39133,13 +39536,13 @@ return /******/ (function(modules) { // webpackBootstrap // restore the physics if required this.body.emitter.emit('restorePhysics'); } + }, { + key: '_cleanManipulatorHammers', /** * Each dom element has it's own hammer. They are stored in this.manipulationHammers. This cleans them up. * @private */ - }, { - key: '_cleanManipulatorHammers', value: function _cleanManipulatorHammers() { // _clean hammer bindings if (this.manipulationHammers.length != 0) { @@ -39149,13 +39552,13 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationHammers = []; } } + }, { + key: '_removeManipulationDOM', /** * Remove all DOM elements created by this module. * @private */ - }, { - key: '_removeManipulationDOM', value: function _removeManipulationDOM() { // removes all the bindings and overloads this._clean(); @@ -39181,14 +39584,14 @@ return /******/ (function(modules) { // webpackBootstrap this.editModeDiv = undefined; this.closeDiv = undefined; } + }, { + key: '_createSeperator', /** * create a seperator line. the index is to differentiate in the manipulation dom * @param index * @private */ - }, { - key: '_createSeperator', value: function _createSeperator() { var index = arguments.length <= 0 || arguments[0] === undefined ? 1 : arguments[0]; @@ -39196,11 +39599,11 @@ return /******/ (function(modules) { // webpackBootstrap this.manipulationDOM['seperatorLineDiv' + index].className = 'vis-separator-line'; this.manipulationDiv.appendChild(this.manipulationDOM['seperatorLineDiv' + index]); } + }, { + key: '_createAddNodeButton', // ---------------------- DOM functions for buttons --------------------------// - }, { - key: '_createAddNodeButton', value: function _createAddNodeButton(locale) { var button = this._createButton('addNode', 'vis-button vis-add', locale['addNode'] || this.options.locales['en']['addNode']); this.manipulationDiv.appendChild(button); @@ -39259,6 +39662,8 @@ return /******/ (function(modules) { // webpackBootstrap value: function _createDescription(label) { this.manipulationDiv.appendChild(this._createButton('description', 'vis-button vis-none', label)); } + }, { + key: '_temporaryBindEvent', // -------------------------- End of DOM functions for buttons ------------------------------// @@ -39268,12 +39673,12 @@ return /******/ (function(modules) { // webpackBootstrap * @param newFunction * @private */ - }, { - key: '_temporaryBindEvent', value: function _temporaryBindEvent(event, newFunction) { this.temporaryEventFunctions.push({ event: event, boundFunction: newFunction }); this.body.emitter.on(event, newFunction); } + }, { + key: '_temporaryBindUI', /** * this overrides an UI function until cleanup by the clean function @@ -39281,8 +39686,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param newFunction * @private */ - }, { - key: '_temporaryBindUI', value: function _temporaryBindUI(UIfunctionName, newFunction) { if (this.body.eventListeners[UIfunctionName] !== undefined) { this.temporaryUIFunctions[UIfunctionName] = this.body.eventListeners[UIfunctionName]; @@ -39291,14 +39694,14 @@ return /******/ (function(modules) { // webpackBootstrap throw new Error('This UI function does not exist. Typo? You tried: ' + UIfunctionName + ' possible are: ' + JSON.stringify(Object.keys(this.body.eventListeners))); } } + }, { + key: '_unbindTemporaryUIs', /** * Restore the overridden UI functions to their original state. * * @private */ - }, { - key: '_unbindTemporaryUIs', value: function _unbindTemporaryUIs() { for (var functionName in this.temporaryUIFunctions) { if (this.temporaryUIFunctions.hasOwnProperty(functionName)) { @@ -39308,13 +39711,13 @@ return /******/ (function(modules) { // webpackBootstrap } this.temporaryUIFunctions = {}; } + }, { + key: '_unbindTemporaryEvents', /** * Unbind the events created by _temporaryBindEvent * @private */ - }, { - key: '_unbindTemporaryEvents', value: function _unbindTemporaryEvents() { for (var i = 0; i < this.temporaryEventFunctions.length; i++) { var eventName = this.temporaryEventFunctions[i].event; @@ -39323,26 +39726,26 @@ return /******/ (function(modules) { // webpackBootstrap } this.temporaryEventFunctions = []; } + }, { + key: '_bindHammerToDiv', /** * Bind an hammer instance to a DOM element. * @param domElement * @param funct */ - }, { - key: '_bindHammerToDiv', value: function _bindHammerToDiv(domElement, boundFunction) { var hammer = new Hammer(domElement, {}); hammerUtil.onTouch(hammer, boundFunction); this.manipulationHammers.push(hammer); } + }, { + key: '_cleanupTemporaryNodesAndEdges', /** * Neatly clean up temporary edges and nodes * @private */ - }, { - key: '_cleanupTemporaryNodesAndEdges', value: function _cleanupTemporaryNodesAndEdges() { // _clean temporary edges for (var i = 0; i < this.temporaryIds.edges.length; i++) { @@ -39365,6 +39768,8 @@ return /******/ (function(modules) { // webpackBootstrap this.temporaryIds = { nodes: [], edges: [] }; } + }, { + key: '_controlNodeTouch', // ------------------------------------------ EDIT EDGE FUNCTIONS -----------------------------------------// @@ -39373,21 +39778,19 @@ return /******/ (function(modules) { // webpackBootstrap * @param event * @private */ - }, { - key: '_controlNodeTouch', value: function _controlNodeTouch(event) { this.selectionHandler.unselectAll(); this.lastTouch = this.body.functions.getPointer(event.center); this.lastTouch.translation = util.extend({}, this.body.view.translation); // copy the object } + }, { + key: '_controlNodeDragStart', /** * the drag start is used to mark one of the control nodes as selected. * @param event * @private */ - }, { - key: '_controlNodeDragStart', value: function _controlNodeDragStart(event) { var pointer = this.lastTouch; var pointerObj = this.selectionHandler._pointerToPositionObject(pointer); @@ -39409,14 +39812,14 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.emit('_redraw'); } + }, { + key: '_controlNodeDrag', /** * dragging the control nodes or the canvas * @param event * @private */ - }, { - key: '_controlNodeDrag', value: function _controlNodeDrag(event) { this.body.emitter.emit('disablePhysics'); var pointer = this.body.functions.getPointer(event.center); @@ -39433,14 +39836,14 @@ return /******/ (function(modules) { // webpackBootstrap } this.body.emitter.emit('_redraw'); } + }, { + key: '_controlNodeDragEnd', /** * connecting or restoring the control nodes. * @param event * @private */ - }, { - key: '_controlNodeDragEnd', value: function _controlNodeDragEnd(event) { var pointer = this.body.functions.getPointer(event.center); var pointerObj = this.selectionHandler._pointerToPositionObject(pointer); @@ -39473,6 +39876,8 @@ return /******/ (function(modules) { // webpackBootstrap } this.body.emitter.emit('_redraw'); } + }, { + key: '_handleConnect', // ------------------------------------ END OF EDIT EDGE FUNCTIONS -----------------------------------------// @@ -39483,8 +39888,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: '_handleConnect', value: function _handleConnect(event) { // check to avoid double fireing of this function. if (new Date().valueOf() - this.touchTime > 100) { @@ -39540,14 +39943,14 @@ return /******/ (function(modules) { // webpackBootstrap this.body.view.translation = { x: this.lastTouch.translation.x + diffX, y: this.lastTouch.translation.y + diffY }; } } + }, { + key: '_finishConnect', /** * Connect the new edge to the target if one exists, otherwise remove temp line * @param event * @private */ - }, { - key: '_finishConnect', value: function _finishConnect(event) { var pointer = this.body.functions.getPointer(event.center); var pointerObj = this.selectionHandler._pointerToPositionObject(pointer); @@ -39584,6 +39987,8 @@ return /******/ (function(modules) { // webpackBootstrap } this.body.emitter.emit('_redraw'); } + }, { + key: '_performAddNode', // --------------------------------------- END OF ADD EDGE FUNCTIONS -------------------------------------// @@ -39592,8 +39997,6 @@ return /******/ (function(modules) { // webpackBootstrap /** * Adds a node on the specified location */ - }, { - key: '_performAddNode', value: function _performAddNode(clickData) { var _this5 = this; @@ -39622,14 +40025,14 @@ return /******/ (function(modules) { // webpackBootstrap this.showManipulatorToolbar(); } } + }, { + key: '_performAddEdge', /** * connect two nodes with a new edge. * * @private */ - }, { - key: '_performAddEdge', value: function _performAddEdge(sourceNodeId, targetNodeId) { var _this6 = this; @@ -39653,14 +40056,14 @@ return /******/ (function(modules) { // webpackBootstrap this.showManipulatorToolbar(); } } + }, { + key: '_performEditEdge', /** * connect two nodes with a new edge. * * @private */ - }, { - key: '_performEditEdge', value: function _performEditEdge(sourceNodeId, targetNodeId) { var _this7 = this; @@ -39696,7 +40099,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 108 */ +/* 110 */ /***/ function(module, exports) { /** @@ -39784,8 +40187,9 @@ return /******/ (function(modules) { // webpackBootstrap }, smooth: { enabled: { boolean: boolean }, - type: { string: ['dynamic', 'continuous', 'discrete', 'diagonalCross', 'straightCross', 'horizontal', 'vertical', 'curvedCW', 'curvedCCW'] }, + type: { string: ['dynamic', 'continuous', 'discrete', 'diagonalCross', 'straightCross', 'horizontal', 'vertical', 'curvedCW', 'curvedCCW', 'cubicBezier'] }, roundness: { number: number }, + forceDirection: { string: ['horizontal', 'vertical', 'none'], boolean: boolean }, __type__: { object: object, boolean: boolean } }, title: { string: string, 'undefined': 'undefined' }, @@ -40105,7 +40509,8 @@ return /******/ (function(modules) { // webpackBootstrap }, smooth: { enabled: true, - type: ['dynamic', 'continuous', 'discrete', 'diagonalCross', 'straightCross', 'horizontal', 'vertical', 'curvedCW', 'curvedCCW'], + type: ['dynamic', 'continuous', 'discrete', 'diagonalCross', 'straightCross', 'horizontal', 'vertical', 'curvedCW', 'curvedCCW', 'cubicBezier'], + forceDirection: ['horizontal', 'vertical', 'none'], roundness: [0.5, 0, 1, 0.05] }, width: [1, 0, 30, 1] @@ -40190,7 +40595,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.configureOptions = configureOptions; /***/ }, -/* 109 */ +/* 111 */ /***/ function(module, exports) { /** @@ -40477,7 +40882,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 110 */ +/* 112 */ /***/ function(module, exports) { /** @@ -40827,10 +41232,10 @@ return /******/ (function(modules) { // webpackBootstrap if (token === 'false') { token = false; // convert to boolean } else if (token === 'true') { - token = true; // convert to boolean - } else if (!isNaN(Number(token))) { - token = Number(token); // convert to number - } + token = true; // convert to boolean + } else if (!isNaN(Number(token))) { + token = Number(token); // convert to number + } tokenType = TOKENTYPE.IDENTIFIER; return; } @@ -40972,8 +41377,8 @@ return /******/ (function(modules) { // webpackBootstrap getToken(); // TODO: implement comma separated list with "a_list: ID=ID [','] [a_list] " } else { - parseNodeStatement(graph, id); - } + parseNodeStatement(graph, id); + } } /** @@ -41375,7 +41780,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.DOTToGraph = DOTToGraph; /***/ }, -/* 111 */ +/* 113 */ /***/ function(module, exports) { 'use strict'; @@ -41447,7 +41852,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.parseGephi = parseGephi; /***/ }, -/* 112 */ +/* 114 */ /***/ function(module, exports) { /** @@ -41456,74 +41861,124 @@ return /******/ (function(modules) { // webpackBootstrap */ "use strict"; - function Images(callback) { - this.images = {}; - this.imageBroken = {}; - this.callback = callback; - } + Object.defineProperty(exports, "__esModule", { + value: true + }); - /** - * - * @param {string} url Url of the image - * @param {string} url Url of an image to use if the url image is not found - * @return {Image} img The image object - */ - Images.prototype.load = function (url, brokenUrl, id) { - var img = this.images[url]; // make a pointer - if (img === undefined) { - // create the image - var me = this; - img = new Image(); - img.onload = function () { - // IE11 fix -- thanks dponch! - if (this.width === 0) { - document.body.appendChild(this); - this.width = this.offsetWidth; - this.height = this.offsetHeight; - document.body.removeChild(this); - } + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - if (me.callback) { - me.images[url] = img; - me.callback(this); - } - }; + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + var Images = (function () { + function Images(callback) { + _classCallCheck(this, Images); + + this.images = {}; + this.imageBroken = {}; + this.callback = callback; + } + + _createClass(Images, [{ + key: "_addImageToCache", + + /** + * @param {string} url The Url to cache the image as + * @return {Image} imageToLoadBrokenUrlOn The image object + */ + value: function _addImageToCache(url, imageToCache) { + // IE11 fix -- thanks dponch! + if (imageToCache.width === 0) { + document.body.appendChild(imageToCache); + imageToCache.width = imageToCache.offsetWidth; + imageToCache.height = imageToCache.offsetHeight; + document.body.removeChild(imageToCache); + } - img.onerror = function () { - if (brokenUrl === undefined) { - console.error("Could not load image:", url); - delete this.src; - if (me.callback) { - me.callback(this); + this.images[url] = imageToCache; } - } else { - if (me.imageBroken[id] && me.imageBroken[id][url] === true) { - console.error("Could not load brokenImage:", brokenUrl); - delete this.src; - if (me.callback) { - me.callback(this); - } - } else { - console.error("Could not load image:", url); - this.src = brokenUrl; - if (me.imageBroken[id] === undefined) { - me.imageBroken[id] = {}; - } - me.imageBroken[id][url] = true; + }, { + key: "_tryloadBrokenUrl", + + /** + * @param {string} url The original Url that failed to load, if the broken image is successfully loaded it will be added to the cache using this Url as the key so that subsequent requests for this Url will return the broken image + * @param {string} brokenUrl Url the broken image to try and load + * @return {Image} imageToLoadBrokenUrlOn The image object + */ + value: function _tryloadBrokenUrl(url, brokenUrl, imageToLoadBrokenUrlOn) { + var _this = this; + + //If any of the parameters aren't specified then exit the function because nothing constructive can be done + if (url === undefined || brokenUrl === undefined || imageToLoadBrokenUrlOn === undefined) return; + + //Clear the old subscription to the error event and put a new in place that only handle errors in loading the brokenImageUrl + imageToLoadBrokenUrlOn.onerror = function () { + console.error("Could not load brokenImage:", brokenUrl); + //Add an empty image to the cache so that when subsequent load calls are made for the url we don't try load the image and broken image again + _this._addImageToCache(url, new Image()); + }; + + //Set the source of the image to the brokenUrl, this is actually what kicks off the loading of the broken image + imageToLoadBrokenUrlOn.src = brokenUrl; } - } - }; + }, { + key: "_redrawWithImage", - img.src = url; - } + /** + * @return {Image} imageToRedrawWith The images that will be passed to the callback when it is invoked + */ + value: function _redrawWithImage(imageToRedrawWith) { + if (this.callback) { + this.callback(imageToRedrawWith); + } + } + }, { + key: "load", - return img; - }; + /** + * @param {string} url Url of the image + * @param {string} brokenUrl Url of an image to use if the url image is not found + * @return {Image} img The image object + */ + value: function load(url, brokenUrl, id) { + var _this2 = this; + + //Try and get the image from the cache, if successful then return the cached image + var cachedImage = this.images[url]; + if (cachedImage) return cachedImage; - module.exports = Images; + //Create a new image + var img = new Image(); + + //Subscribe to the event that is raised if the image loads successfully + img.onload = function () { + //Add the image to the cache and then request a redraw + _this2._addImageToCache(url, img); + _this2._redrawWithImage(img); + }; + + //Subscribe to the event that is raised if the image fails to load + img.onerror = function () { + console.error("Could not load image:", url); + //Try and load the image specified by the brokenUrl using + _this2._tryloadBrokenUrl(url, brokenUrl, img); + }; + + //Set the source of the image to the url, this is actuall what kicks off the loading of the image + img.src = url; + + //Return the new image + return img; + } + }]); + + return Images; + })(); + + exports["default"] = Images; + module.exports = exports["default"]; /***/ }, -/* 113 */ +/* 115 */ /***/ function(module, exports) { // English diff --git a/dist/vis.map b/dist/vis.map index 9a761503..9fd7bad5 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","allOptions","convertDot","input","DOTToGraph","convertGephi","options","parseGephi","Graph","Error","moment","hammer","Hammer","keycharm","data","conversion","props","dot","top","width","height","content","marginLeft","undefined","start","prototype","isVisible","range","interval","end","redraw","dom","point","document","createElement","className","appendChild","dirty","parent","parentNode","foreground","displayed","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","editable","updateTime","updateGroup","selected","offsetWidth","offsetHeight","style","left","_repaintDeleteButton","show","hide","removeChild","repositionX","toScreen","repositionY","orientation","item","getWidthLeft","getWidthRight","hasOwnProperty","select","unselect","setData","groupChanged","group","itemSet","_moveToGroup","setParent","anchor","remove","deleteButton","me","title","on","event","stopPropagation","removeFromDataSet","element","template","itemData","itemsData","get","changed","_contentToString","Element","innerHTML","type","removeAttribute","dataAttributes","length","attributes","Array","isArray","Object","keys","i","name","value","setAttribute","removeCssText","addCssText","outerHTML","window","propagating","preventDefault","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","apply","_firstTarget","split","events","match","propagatedHandler","srcEvent","_handled","stopped","firstTarget","elem","_handlers","_options","Manager","PropagatingHammer","o","create","extend","wrapper","pointerType","isFirst","target","handler","forEach","push","off","filter","h","emit","eventType","destroy","exportName","setTimeoutContext","fn","timeout","context","setTimeout","bindFn","invokeArrayArg","arg","each","obj","iterator","dest","src","merge","inherit","child","base","properties","childP","baseP","constructor","_super","arguments","boolOrFn","val","args","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","types","splitStr","addEventListener","removeEventListeners","removeEventListener","hasParent","node","inStr","str","find","indexOf","trim","inArray","findByKey","toArray","slice","uniqueArray","key","sort","results","values","a","b","prefixed","property","prefix","prop","camelProp","toUpperCase","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","callback","self","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","now","deltaTime","angle","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","scale","getScale","rotation","getRotation","computeIntervalInputData","offset","offsetDelta","prevDelta","x","y","velocity","velocityX","velocityY","direction","last","lastInterval","COMPUTE_INTERVAL","v","getVelocity","abs","clientX","round","clientY","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","p1","p2","PROPS_XY","Math","sqrt","atan2","PI","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","concat","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","targetTouches","changedTargetTouches","touch","mouse","TouchAction","set","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","defaults","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","count","recognizers","preset","handlers","touchAction","toggleCssProps","add","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","Date","MOBILE_REGEX","test","navigator","userAgent","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","button","which","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","toLowerCase","replace","isTouch","storeIndex","pointerId","splice","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","update","getTouchAction","join","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","index","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","isValid","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","clearTimeout","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","stop","force","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","__webpack_amd_options__","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","giveRange","min","max","total","isString","String","isDate","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","fillIfDefined","allowDeletion","protoExtend","other","selectiveExtend","selectiveDeepExtend","TypeError","deepExtend","selectiveNotDeepExtend","equalArray","len","convert","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","getBoundingClientRect","getAbsoluteTop","addClassName","classes","removeClassName","array","updateProperty","action","listener","useCapture","attachEvent","detachEvent","returnValue","getTarget","srcElement","nodeType","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","s","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","parts","currentStyles","newStyles","removeStyles","HSVToRGB","floor","f","q","t","isOk","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","mergeOptions","mergeTarget","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","global","utils_hooks__hooks","hookCallback","setHookCallback","res","hasOwnProp","create_utc__createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","getParsingFlags","_pf","valid__isValid","_isValid","flags","_d","getTime","_strict","bigHour","valid__createInvalid","NaN","copyConfig","to","from","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","ceil","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","j","next","loadLocale","oldLocale","locales","globalLocale","_abbr","code","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","number","targetLength","forceSign","output","sign","addFormatToken","token","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","Function","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","msgWithStack","deprecateSimple","deprecations","configFromISO","l","string","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","M","ms","setFullYear","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","day","local__createLocal","week","dayOfYear","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","weekday","daysToAdd","getUTCDay","getSetDayOfYear","clone","startOf","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","getFullYear","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","hour","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","hours","minutes","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","diff","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","sod","calendar","inputMs","endOf","isBetween","isSame","absFloor","asFloat","delta","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","defaultFormat","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","charAt","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","source","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","as","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","lang","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","dates","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","getSVGElement","svgContainer","shift","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","groupTemplate","labelObj","setAttributeNS","size","label","xOffset","yOffset","textContent","drawBar","rect","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","subscribers","subscribe","unsubscribe","_trigger","params","senderId","subscriber","addedIds","_addItem","updatedIds","updatedData","addOrUpdate","_updateItem","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","getIds","getDataSet","mappedItems","filteredItem","av","bv","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","fieldType","exists","raw","converted","JSON","stringify","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","entry","_ids","_onEvent","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","setArmRotation","setArmLength","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","axisColor","gridColor","dataColor","fill","stroke","strokeWidth","getMouseX","getMouseY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","noCanvas","fontWeight","padding","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","_resizeCenter","setCameraPosition","pos","horizontal","vertical","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","prettyStep","text","xText","yText","zText","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","cross","topSideVisible","zAvg","lineJoin","lineCap","transBottom","dist","sortDepth","aDiff","bDiff","crossproduct","crossProduct","_getStrokeWidth","radius","arc","surface","corners","xWidth","yWidth","surfaces","avg","transCenter","leftButtonDown","_onMouseUp","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","parameters","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","line","borderRadius","boxShadow","borderLeft","contentWidth","contentHeight","lineHeight","dotWidth","dotHeight","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","axis","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","timeAxis","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Core","Configurator","Validator","printStyle","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","initialLoad","getItemRange","setWindow","animation","fit","focus","_this","getDataRange","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","dataset","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","labelSet","groupId","pageX","pageY","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","_applyRange","updateHiddenDates","newStart","newEnd","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","zoomKey","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","onTouch","isTouching","onRelease","isReleasing","offTouch","offRelease","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","startDate","endDate","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","hammerUtil","Activator","onMouseWheel","isActive","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","scrollTop","scrollTopMin","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","addCustomTime","timestamp","some","removeCustomTime","getVisibleItems","getWindow","borderRootHeight","borderRootWidth","autoHeight","containerHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","visibility","MAX_REDRAWS","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","align","groupOrder","selectable","multiselect","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","removeItem","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","initialX","dragLeft","dragRight","ctrlKey","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","initial","updateTimeAllowed","initialStart","initialEnd","updateGroupAllowed","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","markerHeight","lastMarkerHeight","limitSize","customOrderedItems","_updateVisibleItems","nostack","_calculateHeight","offsetTop","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","itemIndex","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","EPSILON","aTime","bTime","iMax","collidingItem","jj","collision","newTop","baseClassName","getComputedStyle","maxWidth","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","mlliseconds","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","currentWeek","currentMonth","currentYear","itemSetHeight","onTop","itemSubgroup","totalHeight","newHeight","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","labelMinor","xFirstMajorLabel","labelFits","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","nodeValue","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","display","unbind","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","eventParams","drag","warned","substring","showCurrentTime","currentTimeTimer","_interopRequireDefault","__esModule","default","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_ColorPicker","_ColorPicker2","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","showButton","moduleOptions","domElements","colorPicker","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","path","_arguments","_this2","_len","_key","div","objectLabel","selectedValue","_update","_makeLabel","err","oninput","checkbox","checked","_this3","defaultColor","_showColorPicker","_this4","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","getOptions","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_bindHammer","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","rgbObj","alpha","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","pinch","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newLeft","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","matrix","boolean","any","function","null","linegraph","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","icons","alignZeros","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","svgElements","groupsUsingDefaultStyles","COUNTER","svg","framework","BarFunctions","_updateAllGroupData","_updateGroup","removeGroup","addGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getData","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","lineOffset","stepPixels","zeroCrossing","amountOfSteps","tempGroups","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","convertValue","setZeroPosition","linegraphOptions","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconHeight","iconOffset","groupArray","drawIcon","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","stepSize","marginRange","valueAtBottom","marginEnd","maxLabelSize","stepIndex","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","invertedValue","convertedValue","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","customRange","formattingFunction","marginStart","deadSpace","majorSteps","minorSteps","setFirst","safeRange","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","niceStart","niceEnd","rounded","previous","steps","usingDefaultStyle","zeroPosition","Line","Bar","Points","SVGcontainer","fillPath","fillHeight","outline","barWidth","bar1Height","bar2Height","icon","combinedData","groupLabel","intersections","_getDataIntersections","_getStackedYRange","accumulatedNegative","accumulatedPositive","xpos","coreDistance","amount","resolved","_catmullRom","_linear","dFill","_catmullRomUniform","p0","bp1","bp2","normalization","d1","d2","d3","A","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","getGroupTemplate","callbackResult","getCallback","Bargraph","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","prevKey","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_modulesGroups2","_modulesCanvas2","selectionHandler","_modulesSelectionHandler2","interactionHandler","_modulesInteractionHandler2","_modulesView2","renderer","_modulesCanvasRenderer2","_modulesPhysicsEngine2","layoutEngine","_modulesLayoutEngine2","clustering","_modulesClustering2","manipulation","_modulesManipulationSystem2","nodesHandler","_modulesNodesHandler2","edgesHandler","_modulesEdgesHandler2","_modulesGroups","_modulesNodesHandler","_modulesEdgesHandler","_modulesPhysicsEngine","_modulesClustering","_modulesCanvasRenderer","_modulesCanvas","_modulesView","_modulesInteractionHandler","_modulesSelectionHandler","_modulesLayoutEngine","_modulesManipulationSystem","_sharedConfigurator","_sharedConfigurator2","_sharedValidator","_sharedValidator2","_optionsJs","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","updatePhysicsData","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","Groups","defaultIndex","groupsArray","groupIndex","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_componentsNode","_componentsNode2","_componentsSharedLabel","_componentsSharedLabel2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","constructorClass","clearPositions","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_sharedLabel","_sharedLabel2","_nodesShapesBox","_nodesShapesBox2","_nodesShapesCircle","_nodesShapesCircle2","_nodesShapesCircularImage","_nodesShapesCircularImage2","_nodesShapesDatabase","_nodesShapesDatabase2","_nodesShapesDiamond","_nodesShapesDiamond2","_nodesShapesDot","_nodesShapesDot2","_nodesShapesEllipse","_nodesShapesEllipse2","_nodesShapesIcon","_nodesShapesIcon2","_nodesShapesImage","_nodesShapesImage2","_nodesShapesSquare","_nodesShapesSquare2","_nodesShapesStar","_nodesShapesStar2","_nodesShapesText","_nodesShapesText2","_nodesShapesTriangle","_nodesShapesTriangle2","_nodesShapesTriangleDown","_nodesShapesTriangleDown2","Node","imagelist","grouplist","globalOptions","baseSize","baseFontSize","predefinedPosition","labelModule","status","groupObj","imageObj","load","distanceToBorder","sizeDiff","fontDiff","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray","sliceIterator","_arr","_n","_e","_s","Symbol","Label","pointToSelf","yLine","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor2","_getColor","_getColor22","fontColor","_setAlignment2","_setAlignment","_setAlignment22","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_inherits","subClass","superClass","__proto__","_get","_x","_x2","_x3","_again","receiver","desc","getOwnPropertyDescriptor","getPrototypeOf","_utilNodeBase","_utilNodeBase2","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_utilCircleImageBase","_utilCircleImageBase2","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","ratio","networkScaleInv","globalAlpha","drawImage","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","_distanceToBorder","Database","database","_utilShapeBase","_utilShapeBase2","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","iconTextSpacing","Image","Square","Star","Text","Triangle","TriangleDown","_componentsEdge","_componentsEdge2","EdgesHandler","edgesListeners","arrows","scaleFactor","hoverWidth","selectionWidth","selfReferenceSize","smooth","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","edgeType","cleanup","colorDirty","_edgesBezierEdgeDynamic","_edgesBezierEdgeDynamic2","_edgesBezierEdgeStatic","_edgesBezierEdgeStatic2","_edgesStraightEdge","_edgesStraightEdge2","Edge","baseWidth","connected","_setInteractionWidths","changeInType","togglePhysics","attachEdge","detachEdge","widthDiff","via","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","_utilBezierEdgeBase","_utilBezierEdgeBase2","BezierEdgeDynamic","_BezierEdgeBase","setupSupportNode","positionBezierNode","parentEdgeId","quadraticCurveTo","nearNode","_findBorderPositionBezier","x1","y1","x2","y2","x3","y3","_getDistanceToBezierEdge","_x4","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","_getViaCoordinates","xVia","yVia","minDistance","lastX","lastY","_getDistanceToLine","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData2","_getCircleData","_getCircleData22","_circle","pattern","lineDashOffset","_getCircleData3","_getCircleData32","dashedLine","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","arrow","_angle","_getCircleData7","_getCircleData72","_length","_x5","_x6","BezierEdgeStatic","pi","originalAngle","myAngle","_utilEdgeBase","_utilEdgeBase2","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_componentsPhysicsBarnesHutSolver","_componentsPhysicsBarnesHutSolver2","_componentsPhysicsRepulsionSolver","_componentsPhysicsRepulsionSolver2","_componentsPhysicsHierarchicalRepulsionSolver","_componentsPhysicsHierarchicalRepulsionSolver2","_componentsPhysicsSpringSolver","_componentsPhysicsSpringSolver2","_componentsPhysicsHierarchicalSpringSolver","_componentsPhysicsHierarchicalSpringSolver2","_componentsPhysicsCentralGravitySolver","_componentsPhysicsCentralGravitySolver2","_componentsPhysicsFA2BasedRepulsionSolver","_componentsPhysicsFA2BasedRepulsionSolver2","_componentsPhysicsFA2BasedCentralGravitySolver","_componentsPhysicsFA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","freezeCache","renderTimer","initialStabilizationEmitted","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","initPhysics","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","calculateForces","moveNodes","revert","nodeIds","vx","vy","nodesPresent","vminCorrected","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","_BarnesHutSolver2","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","_BarnesHutSolver","degree","_CentralGravitySolver2","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_CentralGravitySolver","_componentsNodesCluster","_componentsNodesCluster2","ClusterEngine","clusteredNodes","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","_cloneOptions","_cluster","clusters","visibleEdges","childNodeId","_getConnectedId","_checkIfUsed","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","amountOfConnections","newEdges","clusterEdgeProperties","childNode","otherNodeId","childKeys","processProperties","childNodesOptions","childEdgesOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","clusterNodeId","releaseFunction","positions","clusterPosition","newPositions","clusteredNode","_clusterNode","newEdge","removeIds","nodesArray","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","_Node2","_Node3","Cluster","_Node","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","hammerFrame","_cleanUp","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","specificNodes","zoomLevel","initialZoom","positionDefined","_getRange","numberOfNodes","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_lockedRedraw","finished","_componentsNavigationHandler","_componentsNavigationHandler2","_componentsPopup","_componentsPopup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanges","edgesChanges","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","Popup","doShow","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","optionsBackup","hierarchical","levelSeparation","sortMethod","hierarchicalLevels","setupHierarchicalLayout","prevHierarchicalState","adaptAllOptions","definedLevel","undefinedLevel","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","positionedNodes","_placeBranchNodes","hubSize","_setLevelByHubsize","minLevel","_setLevelDirected","parentId","parentLevel","childNodeLevel","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","_this5","defaultData","sourceNodeId","targetNodeId","_this6","_this7","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","first","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","imageBroken","url","brokenUrl","img","onload","onerror","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","allOptions","convertDot","input","DOTToGraph","convertGephi","options","parseGephi","Graph","Error","moment","hammer","Hammer","keycharm","data","conversion","props","dot","top","width","height","content","marginLeft","undefined","start","prototype","isVisible","range","interval","end","redraw","dom","point","document","createElement","className","appendChild","dirty","parent","parentNode","foreground","displayed","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","editable","updateTime","updateGroup","selected","offsetWidth","offsetHeight","style","left","_repaintDeleteButton","show","hide","removeChild","repositionX","toScreen","repositionY","orientation","item","getWidthLeft","getWidthRight","hasOwnProperty","select","unselect","setData","groupChanged","group","itemSet","_moveToGroup","setParent","anchor","remove","deleteButton","me","title","on","event","stopPropagation","removeFromDataSet","element","template","itemData","itemsData","get","changed","_contentToString","Element","innerHTML","type","removeAttribute","dataAttributes","length","attributes","Array","isArray","Object","keys","i","name","value","setAttribute","removeCssText","addCssText","outerHTML","window","propagating","preventDefault","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","apply","_firstTarget","split","events","match","propagatedHandler","srcEvent","_handled","stopped","firstTarget","elem","_handlers","_options","Manager","PropagatingHammer","o","create","extend","wrapper","pointerType","isFirst","target","handler","forEach","push","off","filter","h","emit","eventType","destroy","exportName","setTimeoutContext","fn","timeout","context","setTimeout","bindFn","invokeArrayArg","arg","each","obj","iterator","dest","src","merge","inherit","child","base","properties","childP","baseP","constructor","_super","arguments","boolOrFn","val","args","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","types","splitStr","addEventListener","removeEventListeners","removeEventListener","hasParent","node","inStr","str","find","indexOf","trim","inArray","findByKey","toArray","slice","uniqueArray","key","sort","results","values","a","b","prefixed","property","prefix","prop","camelProp","toUpperCase","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","callback","self","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","now","deltaTime","angle","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","scale","getScale","rotation","getRotation","computeIntervalInputData","offset","offsetDelta","prevDelta","x","y","velocity","velocityX","velocityY","direction","last","lastInterval","COMPUTE_INTERVAL","v","getVelocity","abs","clientX","round","clientY","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","p1","p2","PROPS_XY","Math","sqrt","atan2","PI","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","concat","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","targetTouches","changedTargetTouches","touch","mouse","TouchAction","set","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","defaults","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","count","recognizers","preset","handlers","touchAction","toggleCssProps","add","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","Date","MOBILE_REGEX","test","navigator","userAgent","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","button","which","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","toLowerCase","replace","isTouch","storeIndex","pointerId","splice","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","update","getTouchAction","join","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","index","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","isValid","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","clearTimeout","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","stop","force","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","__webpack_amd_options__","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","giveRange","min","max","total","isString","String","isDate","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","fillIfDefined","allowDeletion","protoExtend","other","selectiveExtend","selectiveDeepExtend","TypeError","deepExtend","selectiveNotDeepExtend","equalArray","len","convert","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","getBoundingClientRect","getAbsoluteTop","addClassName","classes","removeClassName","array","updateProperty","action","listener","useCapture","attachEvent","detachEvent","returnValue","getTarget","srcElement","nodeType","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","s","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","parts","currentStyles","newStyles","removeStyles","HSVToRGB","floor","f","q","t","isOk","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","mergeOptions","mergeTarget","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","global","utils_hooks__hooks","hookCallback","setHookCallback","res","hasOwnProp","create_utc__createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","getParsingFlags","_pf","valid__isValid","_isValid","flags","_d","getTime","invalidWeekday","_strict","bigHour","valid__createInvalid","NaN","copyConfig","to","from","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","j","next","loadLocale","oldLocale","locales","globalLocale","_abbr","code","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","addFormatToken","token","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","output","Function","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","isFunction","sth","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","string","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","M","ms","setFullYear","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","day","local__createLocal","week","dayOfYear","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","weekday","week1Jan","janX","getUTCDay","getSetDayOfYear","clone","startOf","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","getFullYear","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","hour","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","hours","minutes","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","diff","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","formats","sod","calendar","inputMs","endOf","isBetween","isSame","asFloat","delta","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","defaultFormat","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","toObject","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","charAt","localeMeridiem","isLower","parseMs","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","formatUpper","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","source","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","limit","withSuffix","iso_string__toISOString","iso_string__abs","Y","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","lang","isoWeekYear","getSetDayOfMonth","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","dates","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","getSVGElement","svgContainer","shift","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","groupTemplate","labelObj","setAttributeNS","size","label","xOffset","yOffset","textContent","drawBar","rect","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","subscribers","subscribe","unsubscribe","_trigger","params","senderId","subscriber","addedIds","_addItem","updatedIds","updatedData","addOrUpdate","_updateItem","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","getIds","getDataSet","mappedItems","filteredItem","av","bv","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","fieldType","exists","raw","converted","JSON","stringify","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","entry","_ids","_onEvent","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","setArmRotation","setArmLength","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","axisColor","gridColor","dataColor","fill","stroke","strokeWidth","getMouseX","getMouseY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","noCanvas","fontWeight","padding","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","_resizeCenter","setCameraPosition","pos","horizontal","vertical","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","prettyStep","text","xText","yText","zText","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","cross","topSideVisible","zAvg","lineJoin","lineCap","transBottom","dist","sortDepth","aDiff","bDiff","crossproduct","crossProduct","_getStrokeWidth","radius","arc","surface","corners","xWidth","yWidth","surfaces","avg","transCenter","leftButtonDown","_onMouseUp","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","parameters","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","line","borderRadius","boxShadow","borderLeft","contentWidth","contentHeight","lineHeight","dotWidth","dotHeight","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","axis","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","timeAxis","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","groupsData","getEventProperties","oncontextmenu","setGroups","setItems","_redraw","Core","Configurator","Validator","printStyle","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","initialLoad","getItemRange","setWindow","animation","fit","focus","_this","getDataRange","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","dataset","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","labelSet","groupId","pageX","pageY","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","_applyRange","updateHiddenDates","newStart","newEnd","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","zoomKey","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","onTouch","isTouching","onRelease","isReleasing","offTouch","offRelease","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","startDate","endDate","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","hammerUtil","Activator","onMouseWheel","isActive","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","scrollTop","scrollTopMin","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","addCustomTime","timestamp","some","removeCustomTime","getVisibleItems","getWindow","borderRootHeight","borderRootWidth","autoHeight","containerHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","visibility","MAX_REDRAWS","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","align","groupOrder","selectable","multiselect","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","removeItem","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","initialX","dragLeft","dragRight","selectedItem","baseGroupIndex","groupIndex","groupOffset","ctrlKey","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","updateTimeAllowed","initialStart","initialEnd","newOffset","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","markerHeight","lastMarkerHeight","limitSize","customOrderedItems","_updateVisibleItems","nostack","_calculateHeight","offsetTop","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","itemIndex","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","EPSILON","aTime","bTime","iMax","collidingItem","jj","collision","newTop","baseClassName","getComputedStyle","maxWidth","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","mlliseconds","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","currentWeek","currentMonth","currentYear","itemSetHeight","onTop","itemSubgroup","totalHeight","newHeight","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","labelMinor","xFirstMajorLabel","labelFits","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","nodeValue","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","display","unbind","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","eventParams","drag","warned","substring","showCurrentTime","currentTimeTimer","_interopRequireDefault","__esModule","default","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_ColorPicker","_ColorPicker2","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","showButton","moduleOptions","domElements","colorPicker","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","path","_arguments","_this2","_len","_key","div","objectLabel","selectedValue","_update","_makeLabel","err","oninput","checkbox","checked","_this3","defaultColor","_showColorPicker","_this4","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","getOptions","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_bindHammer","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","rgbObj","alpha","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","pinch","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newLeft","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","matrix","boolean","any","function","null","linegraph","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","icons","alignZeros","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","svgElements","groupsUsingDefaultStyles","COUNTER","svg","framework","BarFunctions","_updateAllGroupData","_updateGroup","removeGroup","addGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getData","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","lineOffset","stepPixels","zeroCrossing","amountOfSteps","tempGroups","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","convertValue","setZeroPosition","linegraphOptions","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconHeight","iconOffset","groupArray","drawIcon","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","stepSize","marginRange","valueAtBottom","marginEnd","maxLabelSize","stepIndex","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","invertedValue","convertedValue","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","customRange","formattingFunction","marginStart","deadSpace","majorSteps","minorSteps","setFirst","safeRange","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","niceStart","niceEnd","rounded","previous","steps","usingDefaultStyle","zeroPosition","Line","Bar","Points","SVGcontainer","fillPath","fillHeight","outline","barWidth","bar1Height","bar2Height","icon","combinedData","groupLabel","intersections","_getDataIntersections","_getStackedYRange","accumulatedNegative","accumulatedPositive","xpos","coreDistance","amount","resolved","_catmullRom","_linear","dFill","_catmullRomUniform","p0","bp1","bp2","normalization","d1","d2","d3","A","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","getGroupTemplate","callbackResult","getCallback","Bargraph","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","prevKey","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_modulesGroups2","_modulesCanvas2","selectionHandler","_modulesSelectionHandler2","interactionHandler","_modulesInteractionHandler2","_modulesView2","renderer","_modulesCanvasRenderer2","_modulesPhysicsEngine2","layoutEngine","_modulesLayoutEngine2","clustering","_modulesClustering2","manipulation","_modulesManipulationSystem2","nodesHandler","_modulesNodesHandler2","edgesHandler","_modulesEdgesHandler2","_modulesGroups","_modulesNodesHandler","_modulesEdgesHandler","_modulesPhysicsEngine","_modulesClustering","_modulesCanvasRenderer","_modulesCanvas","_modulesView","_modulesInteractionHandler","_modulesSelectionHandler","_modulesLayoutEngine","_modulesManipulationSystem","_sharedConfigurator","_sharedConfigurator2","_sharedValidator","_sharedValidator2","_optionsJs","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","updatePhysicsData","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_componentsNode","_componentsNode2","_componentsSharedLabel","_componentsSharedLabel2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","cleanup","constructorClass","clearPositions","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_sharedLabel","_sharedLabel2","_nodesShapesBox","_nodesShapesBox2","_nodesShapesCircle","_nodesShapesCircle2","_nodesShapesCircularImage","_nodesShapesCircularImage2","_nodesShapesDatabase","_nodesShapesDatabase2","_nodesShapesDiamond","_nodesShapesDiamond2","_nodesShapesDot","_nodesShapesDot2","_nodesShapesEllipse","_nodesShapesEllipse2","_nodesShapesIcon","_nodesShapesIcon2","_nodesShapesImage","_nodesShapesImage2","_nodesShapesSquare","_nodesShapesSquare2","_nodesShapesStar","_nodesShapesStar2","_nodesShapesText","_nodesShapesText2","_nodesShapesTriangle","_nodesShapesTriangle2","_nodesShapesTriangleDown","_nodesShapesTriangleDown2","Node","imagelist","grouplist","globalOptions","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","imageObj","load","distanceToBorder","sizeDiff","fontDiff","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray","sliceIterator","_arr","_n","_e","_s","Symbol","Label","pointToSelf","yLine","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor2","_getColor","_getColor22","fontColor","_setAlignment2","_setAlignment","_setAlignment22","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_inherits","subClass","superClass","__proto__","_get","_x","_x2","_x3","_again","receiver","desc","getOwnPropertyDescriptor","getPrototypeOf","_utilNodeBase","_utilNodeBase2","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_utilCircleImageBase","_utilCircleImageBase2","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","ratio","networkScaleInv","globalAlpha","drawImage","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","_distanceToBorder","Database","database","_utilShapeBase","_utilShapeBase2","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","iconTextSpacing","Image","Square","Star","Text","Triangle","TriangleDown","_componentsEdge","_componentsEdge2","EdgesHandler","edgesListeners","arrows","scaleFactor","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","edgeType","colorDirty","_edgesCubicBezierEdge","_edgesCubicBezierEdge2","_edgesBezierEdgeDynamic","_edgesBezierEdgeDynamic2","_edgesBezierEdgeStatic","_edgesBezierEdgeStatic2","_edgesStraightEdge","_edgesStraightEdge2","Edge","baseWidth","connected","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","via","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","_x4","_x5","_x6","_utilBezierEdgeBase","_utilBezierEdgeBase2","BezierEdgeStatic","_BezierEdgeBase","_getViaCoordinates","quadraticCurveTo","xVia","yVia","pi","originalAngle","myAngle","nearNode","_findBorderPositionBezier","x1","y1","x2","y2","x3","y3","_getDistanceToBezierEdge","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","minDistance","lastX","lastY","_getDistanceToLine","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData2","_getCircleData","_getCircleData22","_circle","pattern","lineDashOffset","_getCircleData3","_getCircleData32","dashedLine","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","arrow","_angle","_getCircleData7","_getCircleData72","_length","_utilCubicBezierEdgeBase","_utilCubicBezierEdgeBase2","CubicBezierEdge","_CubicBezierEdgeBase","_getViaCoordinates2","_getViaCoordinates22","via1","via2","bezierCurveTo","_ref","_ref2","_ref3","_ref32","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","BezierEdgeDynamic","setupSupportNode","positionBezierNode","parentEdgeId","_utilEdgeBase","_utilEdgeBase2","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_componentsPhysicsBarnesHutSolver","_componentsPhysicsBarnesHutSolver2","_componentsPhysicsRepulsionSolver","_componentsPhysicsRepulsionSolver2","_componentsPhysicsHierarchicalRepulsionSolver","_componentsPhysicsHierarchicalRepulsionSolver2","_componentsPhysicsSpringSolver","_componentsPhysicsSpringSolver2","_componentsPhysicsHierarchicalSpringSolver","_componentsPhysicsHierarchicalSpringSolver2","_componentsPhysicsCentralGravitySolver","_componentsPhysicsCentralGravitySolver2","_componentsPhysicsFA2BasedRepulsionSolver","_componentsPhysicsFA2BasedRepulsionSolver2","_componentsPhysicsFA2BasedCentralGravitySolver","_componentsPhysicsFA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","freezeCache","renderTimer","initialStabilizationEmitted","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","initPhysics","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","calculateForces","moveNodes","revert","nodeIds","vx","vy","nodesPresent","vminCorrected","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","_BarnesHutSolver2","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","_BarnesHutSolver","degree","_CentralGravitySolver2","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_CentralGravitySolver","_componentsNodesCluster","_componentsNodesCluster2","ClusterEngine","clusteredNodes","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","_cloneOptions","_cluster","clusters","visibleEdges","childNodeId","_getConnectedId","_checkIfUsed","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","amountOfConnections","newEdges","clusterEdgeProperties","childNode","otherNodeId","childKeys","processProperties","childNodesOptions","childEdgesOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","clusterNodeId","releaseFunction","positions","clusterPosition","newPositions","clusteredNode","_clusterNode","newEdge","removeIds","nodesArray","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","_Node2","_Node3","Cluster","_Node","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","hammerFrame","_cleanUp","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","specificNodes","zoomLevel","initialZoom","positionDefined","_getRange","numberOfNodes","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_lockedRedraw","finished","_componentsNavigationHandler","_componentsNavigationHandler2","_componentsPopup","_componentsPopup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanges","edgesChanges","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","Popup","doShow","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","optionsBackup","hierarchical","levelSeparation","sortMethod","hierarchicalLevels","setupHierarchicalLayout","prevHierarchicalState","adaptAllOptions","definedLevel","undefinedLevel","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","positionedNodes","_placeBranchNodes","hubSize","_setLevelByHubsize","minLevel","_setLevelDirected","parentId","parentLevel","childNodeLevel","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","_this5","defaultData","sourceNodeId","targetNodeId","_this6","_this7","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","kappa","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","first","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAA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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 1e7bc4c9..f4e8ae30 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.6.0 - * @date 2015-07-22 + * @version 4.7.0 + * @date 2015-07-27 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,22 +22,22 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(7),e.DOMutil=i(13),e.DataSet=i(14),e.DataView=i(16),e.Queue=i(15),e.Graph3d=i(17),e.graph3d={Camera:i(21),Filter:i(22),Point2d:i(18),Point3d:i(20),Slider:i(23),StepNumber:i(24)},e.Timeline=i(25),e.Graph2d=i(49),e.timeline={DateUtil:i(29),DataStep:i(52),Range:i(26),stack:i(33),TimeStep:i(35),components:{items:{Item:i(2),BackgroundItem:i(38),BoxItem:i(37),PointItem:i(1),RangeItem:i(34)},Component:i(28),CurrentTime:i(44),CustomTime:i(42),DataAxis:i(51),GraphGroup:i(53),Group:i(32),BackgroundGroup:i(36),ItemSet:i(31),Legend:i(57),LineGraph:i(50),TimeAxis:i(39)}},e.Network=i(59),e.network={Images:i(112),dotparser:i(110),gephiParser:i(111),allOptions:i(108)},e.network.convertDot=function(t){return e.network.dotparser.DOTToGraph(t)},e.network.convertGephi=function(t,i){return e.network.gephiParser.parseGephi(t,i)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(8),e.hammer=i(3),e.Hammer=i(3),e.keycharm=i(41)},function(t,e,i){function o(t,e,i){if(this.props={dot:{top:0,width:0,height:0},content:{height:0,marginLeft:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(2);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.start0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;i0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function M(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=L(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=R(a,h),I(i,e),e.offsetDirection=B(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,z(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Tt||s.eventType===St)&&(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function z(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Ct||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=A(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=B(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function A(t,e,i){return{x:e/t||0,y:i/t||0}}function B(t,e){return t===e?It:vt(t)>=vt(e)?t>0?zt:Nt:e>0?Lt:At}function R(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return F(e[1],e[0],Ht)-F(t[1],t[0],Ht)}function H(t,e){return R(e[0],e[1],Ht)/R(t[0],t[1],Ht)}function Y(){this.evEl=Wt,this.evWin=Gt,this.allow=!0,this.pressed=!1,T.apply(this,arguments)}function W(){this.evEl=qt,this.evWin=Xt,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Jt,this.started=!1,T.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(St|Pt)&&(i=O(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},T.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Tt|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Tt)for(n=0;na&&(e.push(t),a=e.length-1):n&(St|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Tt,touchmove:Et,touchend:St,touchcancel:Pt},Kt="touchstart",Jt="touchstart touchmove touchend touchcancel";p(G,T,{handler:function(t){var e=Zt[t.type];if(e===Tt&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(St|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Qt={touchstart:Tt,touchmove:Et,touchend:St,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,T,{handler:function(t){var e=Qt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,T,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Mt;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(St|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=M(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Bt||r&&i&Rt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;J.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(i.options.event+(e?Q(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?zt:Nt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?Lt:At,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,J,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(St|Pt)&&!n)this.reset();else if(t.eventType&Tt)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&St)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&St?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Bt|Rt,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Bt|Rt)?e=t.velocity:i&Bt?e=t.velocityX:i&Rt&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&St},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,J,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancei;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return n=s.exec(t),o(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=s.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var s=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e; -},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var r={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=r.split(t.style.cssText),n=r.split(i),s=e.extend(o,n);t.style.cssText=r.join(s)},e.removeCssText=function(t,e){var i=r.split(t.style.cssText),o=r.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=r.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(i),n=0;n=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(9)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Si.apply(null,arguments)}function i(t){Si=t}function o(t){return"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in Ii)o=Ii[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function f(t){p(this,t),this._d=new Date(+t._d),zi===!1&&(zi=!0,e.updateOffset(this),zi=!1)}function m(t){return t instanceof f||null!=t&&null!=t._isAMomentObject}function v(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function g(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&v(t[o])!==v(e[o]))&&r++;return r+s}function y(){}function b(t){return t?t.toLowerCase().replace("_","-"):t}function w(t){for(var e,i,o,n,s=0;s0;){if(o=_(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&g(n,i,!0)>=e-1)break;e--}s++}return null}function _(e){var i=null;if(!Ni[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Pi._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),x(i)}catch(o){}return Ni[e]}function x(t,e){var i;return t&&(i="undefined"==typeof e?O(t):k(t,e),i&&(Pi=i)),Pi._abbr}function k(t,e){return null!==e?(e.abbr=t,Ni[t]||(Ni[t]=new y),Ni[t].set(e),x(t),Ni[t]):(delete Ni[t],null)}function O(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Pi;if(!o(t)){if(e=_(t))return e;t=[t]}return w(t)}function M(t,e){var i=t.toLowerCase();Li[i]=Li[i+"s"]=Li[e]=t}function D(t){return"string"==typeof t?Li[t]||Li[t.toLowerCase()]:void 0}function C(t){var e,i,o={};for(i in t)r(t,i)&&(e=D(i),e&&(o[e]=t[i]));return o}function T(t,i){return function(o){return null!=o?(S(this,t,o),e.updateOffset(this,i),this):E(this,t)}}function E(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function S(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function P(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=D(t),"function"==typeof this[t])return this[t](e);return this}function I(t,e,i){for(var o=""+Math.abs(t),n=t>=0;o.lengthe;e++)Fi[o[e]]?o[e]=Fi[o[e]]:o[e]=N(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function A(t,e){return t.isValid()?(e=B(e,t.localeData()),Ri[e]||(Ri[e]=L(e)),Ri[e](t)):t.localeData().invalidDate()}function B(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Bi.lastIndex=0;o>=0&&Bi.test(t);)t=t.replace(Bi,i),Bi.lastIndex=0,o-=1;return t}function R(t,e,i){to[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function F(t,e){return r(to,t)?to[t](e._strict,e._locale):new RegExp(j(t))}function j(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function H(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=v(t)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function X(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),G(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function Z(t){return null!=t?(X(this,t),e.updateOffset(this,!0),this):E(this,"Month")}function K(){return G(this.year(),this.month())}function J(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[oo]<0||i[oo]>11?oo:i[no]<1||i[no]>G(i[io],i[oo])?no:i[so]<0||i[so]>24||24===i[so]&&(0!==i[ro]||0!==i[ao]||0!==i[ho])?so:i[ro]<0||i[ro]>59?ro:i[ao]<0||i[ao]>59?ao:i[ho]<0||i[ho]>999?ho:-1,l(t)._overflowDayOfYear&&(io>e||e>no)&&(e=no),l(t).overflow=e),t}function Q(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function $(t,e){var i=!0,o=t+"\n"+(new Error).stack;return a(function(){return i&&(Q(o),i=!1),e.apply(this,arguments)},e)}function tt(t,e){co[t]||(Q(e),co[t]=!0)}function et(t){var e,i,o=t._i,n=po.exec(o);if(n){for(l(t).iso=!0,e=0,i=fo.length;i>e;e++)if(fo[e][1].exec(o)){t._f=fo[e][0]+(n[6]||" ");break}for(e=0,i=mo.length;i>e;e++)if(mo[e][1].exec(o)){t._f+=mo[e][0];break}o.match(Ji)&&(t._f+="Z"),wt(t)}else t._isValid=!1}function it(t){var i=vo.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(et(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function ot(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function nt(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function st(t){return rt(t)?366:365}function rt(t){return t%4===0&&t%100!==0||t%400===0}function at(){return rt(this.year())}function ht(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Ct(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function dt(t){return ht(t,this._week.dow,this._week.doy).week}function lt(){return this._week.dow}function ut(){return this._week.doy}function ct(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function pt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ft(t,e,i,o,n){var s,r,a=nt(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:n,s=n-a+(a>o?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+s+1,{year:r>0?t:t-1,dayOfYear:r>0?r:st(t-1)+r}}function mt(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function vt(t,e,i){return null!=t?t:null!=e?e:i}function gt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function yt(t){var e,i,o,n,s=[];if(!t._d){for(o=gt(t),t._w&&null==t._a[no]&&null==t._a[oo]&&bt(t),t._dayOfYear&&(n=vt(t._a[io],o[io]),t._dayOfYear>st(n)&&(l(t)._overflowDayOfYear=!0),i=nt(n,0,t._dayOfYear),t._a[oo]=i.getUTCMonth(),t._a[no]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[so]&&0===t._a[ro]&&0===t._a[ao]&&0===t._a[ho]&&(t._nextDay=!0,t._a[so]=0),t._d=(t._useUTC?nt:ot).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[so]=24)}}function bt(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=vt(e.GG,t._a[io],ht(Ct(),1,4).year),o=vt(e.W,1),n=vt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=vt(e.gg,t._a[io],ht(Ct(),s,r).year),o=vt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=ft(i,o,n,r,s),t._a[io]=a.year,t._dayOfYear=a.dayOfYear}function wt(t){if(t._f===e.ISO_8601)return void et(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=B(t._f,t._locale).match(Ai)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Fi[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),W(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[so]<=12&&t._a[so]>0&&(l(t).bigHour=void 0),t._a[so]=_t(t._locale,t._a[so],t._meridiem),yt(t),J(t)}function _t(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function xt(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function kt(t){if(!t._d){var e=C(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],yt(t)}}function Ot(t){var e,i=t._i,s=t._f;return t._locale=t._locale||O(t._l),null===i||void 0===s&&""===i?c({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),m(i)?new f(J(i)):(o(s)?xt(t):s?wt(t):n(i)?t._d=i:Mt(t),e=new f(J(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Mt(t){var i=t._i;void 0===i?t._d=new Date:n(i)?t._d=new Date(+i):"string"==typeof i?it(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),yt(t)):"object"==typeof i?kt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Dt(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,Ot(s)}function Ct(t,e,i,o){return Dt(t,e,i,o,!1)}function Tt(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Ct();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+I(~~(t/60),2)+e+I(~~t%60,2)})}function Nt(t){var e=(t||"").match(Ji)||[],i=e[e.length-1]||[],o=(i+"").match(_o)||["-",0,0],n=+(60*o[1])+v(o[2]);return"+"===o[0]?n:-n}function Lt(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(m(t)||n(t)?+t:+Ct(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):Ct(t).local()}function At(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Bt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=Nt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=At(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?$t(this,Xt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:At(this)}function Rt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Ft(t){return this.utcOffset(0,t)}function jt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(At(this),"m")),this}function Ht(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Nt(this._i)),this}function Yt(t){return t=t?Ct(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Wt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Gt(){if(this._a){var t=this._isUTC?h(this._a):Ct(this._a);return this.isValid()&&g(this._a,t.toArray())>0}return!1}function Ut(){return!this._isUTC}function Vt(){return this._isUTC}function qt(){return this._isUTC&&0===this._offset}function Xt(t,e){var i,o,n,s=t,a=null;return It(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=xo.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:v(a[no])*i,h:v(a[so])*i,m:v(a[ro])*i,s:v(a[ao])*i,ms:v(a[ho])*i}):(a=ko.exec(t))?(i="-"===a[1]?-1:1,s={y:Zt(a[2],i),M:Zt(a[3],i),d:Zt(a[4],i),h:Zt(a[5],i),m:Zt(a[6],i),s:Zt(a[7],i),w:Zt(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Jt(Ct(s.from),Ct(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Pt(s),It(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function Zt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Kt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Jt(t,e){var i;return e=Lt(e,t),t.isBefore(e)?i=Kt(t,e):(i=Kt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Qt(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(tt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Xt(i,o),$t(this,n,t),this}}function $t(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&S(t,"Date",E(t,"Date")+r*o),a&&X(t,E(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function te(t){var e=t||Ct(),i=Lt(e,this).startOf("day"),o=this.diff(i,"days",!0),n=-6>o?"sameElse":-1>o?"lastWeek":0>o?"lastDay":1>o?"sameDay":2>o?"nextDay":7>o?"nextWeek":"sameElse";return this.format(this.localeData().calendar(n,this,Ct(e)))}function ee(){return new f(this)}function ie(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Ct(t),+this>+t):(i=m(t)?+t:+Ct(t),i<+this.clone().startOf(e))}function oe(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Ct(t),+t>+this):(i=m(t)?+t:+Ct(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function ae(t,e,i){var o,n,s=Lt(t,this),r=6e4*(s.utcOffset()-this.utcOffset());return e=D(e),"year"===e||"month"===e||"quarter"===e?(n=he(this,s),"quarter"===e?n/=3:"year"===e&&(n/=12)):(o=this-s,n="second"===e?o/1e3:"minute"===e?o/6e4:"hour"===e?o/36e5:"day"===e?(o-r)/864e5:"week"===e?(o-r)/6048e5:o),i?n:re(n)}function he(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function de(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function le(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Ct([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Fe(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ne(t,this.localeData()),this.add(t-e,"d")):e}function je(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function He(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Ye(t,e){z(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function We(t,e){return e._meridiemParse}function Ge(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ue(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Ve(t){z(0,[t,3],0,"millisecond")}function qe(){return this._isUTC?"UTC":""}function Xe(){return this._isUTC?"Coordinated Universal Time":""}function Ze(t){return Ct(1e3*t)}function Ke(){return Ct.apply(null,arguments).parseZone()}function Je(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function Qe(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e}function $e(){return this._invalidDate}function ti(t){return this._ordinal.replace("%d",t)}function ei(t){return t}function ii(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function oi(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ni(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function si(t,e,i,o){var n=O(),s=h().set(o,e);return n[i](s,t)}function ri(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return si(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=si(t,s,i,n);return r}function ai(t,e){return ri(t,e,"months",12,"month")}function hi(t,e){return ri(t,e,"monthsShort",12,"month")}function di(t,e){return ri(t,e,"weekdays",7,"day")}function li(t,e){return ri(t,e,"weekdaysShort",7,"day")}function ui(t,e){return ri(t,e,"weekdaysMin",7,"day")}function ci(){var t=this._data;return this._milliseconds=Uo(this._milliseconds),this._days=Uo(this._days),this._months=Uo(this._months),t.milliseconds=Uo(t.milliseconds),t.seconds=Uo(t.seconds),t.minutes=Uo(t.minutes),t.hours=Uo(t.hours),t.months=Uo(t.months),t.years=Uo(t.years),this}function pi(t,e,i,o){var n=Xt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function fi(t,e){return pi(this,t,e,1)}function mi(t,e){return pi(this,t,e,-1)}function vi(){var t,e,i,o=this._milliseconds,n=this._days,s=this._months,r=this._data,a=0;return r.milliseconds=o%1e3,t=re(o/1e3),r.seconds=t%60,e=re(t/60),r.minutes=e%60,i=re(e/60),r.hours=i%24,n+=re(i/24),a=re(gi(n)),n-=re(yi(a)),s+=re(n/30),n%=30,a+=re(s/12),s%=12,r.days=n,r.months=s,r.years=a,this}function gi(t){return 400*t/146097}function yi(t){return 146097*t/400}function bi(t){var e,i,o=this._milliseconds;if(t=D(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+12*gi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(yi(this._months/12)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function wi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function _i(t){return function(){return this.as(t)}}function xi(t){return t=D(t),this[t+"s"]()}function ki(t){return function(){return this._data[t]}}function Oi(){return re(this.days()/7)}function Mi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Di(t,e,i){var o=Xt(t).abs(),n=hn(o.as("s")),s=hn(o.as("m")),r=hn(o.as("h")),a=hn(o.as("d")),h=hn(o.as("M")),d=hn(o.as("y")),l=n0,l[4]=i,Mi.apply(null,l)}function Ci(t,e){return void 0===dn[t]?!1:void 0===e?dn[t]:(dn[t]=e,!0)}function Ti(t){var e=this.localeData(),i=Di(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Ei(){var t=ln(this.years()),e=ln(this.months()),i=ln(this.days()),o=ln(this.hours()),n=ln(this.minutes()),s=ln(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(o||n||s?"T":"")+(o?o+"H":"")+(n?n+"M":"")+(s?s+"S":""):"P0D"}var Si,Pi,Ii=e.momentProperties=[],zi=!1,Ni={},Li={},Ai=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Bi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ri={},Fi={},ji=/\d/,Hi=/\d\d/,Yi=/\d{3}/,Wi=/\d{4}/,Gi=/[+-]?\d{6}/,Ui=/\d\d?/,Vi=/\d{1,3}/,qi=/\d{1,4}/,Xi=/[+-]?\d{1,6}/,Zi=/\d+/,Ki=/[+-]?\d+/,Ji=/Z|[+-]\d\d:?\d\d/gi,Qi=/[+-]?\d+(\.\d{1,3})?/,$i=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,to={},eo={},io=0,oo=1,no=2,so=3,ro=4,ao=5,ho=6;z("M",["MM",2],"Mo",function(){return this.month()+1}),z("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),z("MMMM",0,0,function(t){return this.localeData().months(this,t); -}),M("month","M"),R("M",Ui),R("MM",Ui,Hi),R("MMM",$i),R("MMMM",$i),H(["M","MM"],function(t,e){e[oo]=v(t)-1}),H(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[oo]=n:l(i).invalidMonth=t});var lo="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),uo="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),co={};e.suppressDeprecationWarnings=!1;var po=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],mo=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],vo=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=$("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),z(0,["YY",2],0,function(){return this.year()%100}),z(0,["YYYY",4],0,"year"),z(0,["YYYYY",5],0,"year"),z(0,["YYYYYY",6,!0],0,"year"),M("year","y"),R("Y",Ki),R("YY",Ui,Hi),R("YYYY",qi,Wi),R("YYYYY",Xi,Gi),R("YYYYYY",Xi,Gi),H(["YYYY","YYYYY","YYYYYY"],io),H("YY",function(t,i){i[io]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var go=T("FullYear",!1);z("w",["ww",2],"wo","week"),z("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("isoWeek","W"),R("w",Ui),R("ww",Ui,Hi),R("W",Ui),R("WW",Ui,Hi),Y(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=v(t)});var yo={dow:0,doy:6};z("DDD",["DDDD",3],"DDDo","dayOfYear"),M("dayOfYear","DDD"),R("DDD",Vi),R("DDDD",Yi),H(["DDD","DDDD"],function(t,e,i){i._dayOfYear=v(t)}),e.ISO_8601=function(){};var bo=$("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ct.apply(null,arguments);return this>t?this:t}),wo=$("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ct.apply(null,arguments);return t>this?this:t});zt("Z",":"),zt("ZZ",""),R("Z",Ji),R("ZZ",Ji),H(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Nt(t)});var _o=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var xo=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ko=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Xt.fn=Pt.prototype;var Oo=Qt(1,"add"),Mo=Qt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Do=$("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});z(0,["gg",2],0,function(){return this.weekYear()%100}),z(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ce("gggg","weekYear"),Ce("ggggg","weekYear"),Ce("GGGG","isoWeekYear"),Ce("GGGGG","isoWeekYear"),M("weekYear","gg"),M("isoWeekYear","GG"),R("G",Ki),R("g",Ki),R("GG",Ui,Hi),R("gg",Ui,Hi),R("GGGG",qi,Wi),R("gggg",qi,Wi),R("GGGGG",Xi,Gi),R("ggggg",Xi,Gi),Y(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=v(t)}),Y(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),z("Q",0,0,"quarter"),M("quarter","Q"),R("Q",ji),H("Q",function(t,e){e[oo]=3*(v(t)-1)}),z("D",["DD",2],"Do","date"),M("date","D"),R("D",Ui),R("DD",Ui,Hi),R("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),H(["D","DD"],no),H("Do",function(t,e){e[no]=v(t.match(Ui)[0],10)});var Co=T("Date",!0);z("d",0,"do","day"),z("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),z("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),z("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),z("e",0,0,"weekday"),z("E",0,0,"isoWeekday"),M("day","d"),M("weekday","e"),M("isoWeekday","E"),R("d",Ui),R("e",Ui),R("E",Ui),R("dd",$i),R("ddd",$i),R("dddd",$i),Y(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:l(i).invalidWeekday=t}),Y(["d","e","E"],function(t,e,i,o){e[o]=v(t)});var To="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Eo="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),So="Su_Mo_Tu_We_Th_Fr_Sa".split("_");z("H",["HH",2],0,"hour"),z("h",["hh",2],0,function(){return this.hours()%12||12}),Ye("a",!0),Ye("A",!1),M("hour","h"),R("a",We),R("A",We),R("H",Ui),R("h",Ui),R("HH",Ui,Hi),R("hh",Ui,Hi),H(["H","HH"],so),H(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),H(["h","hh"],function(t,e,i){e[so]=v(t),l(i).bigHour=!0});var Po=/[ap]\.?m?\.?/i,Io=T("Hours",!0);z("m",["mm",2],0,"minute"),M("minute","m"),R("m",Ui),R("mm",Ui,Hi),H(["m","mm"],ro);var zo=T("Minutes",!1);z("s",["ss",2],0,"second"),M("second","s"),R("s",Ui),R("ss",Ui,Hi),H(["s","ss"],ao);var No=T("Seconds",!1);z("S",0,0,function(){return~~(this.millisecond()/100)}),z(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Ve("SSS"),Ve("SSSS"),M("millisecond","ms"),R("S",Vi,ji),R("SS",Vi,Hi),R("SSS",Vi,Yi),R("SSSS",Zi),H(["S","SS","SSS","SSSS"],function(t,e){e[ho]=v(1e3*("0."+t))});var Lo=T("Milliseconds",!1);z("z",0,0,"zoneAbbr"),z("zz",0,0,"zoneName");var Ao=f.prototype;Ao.add=Oo,Ao.calendar=te,Ao.clone=ee,Ao.diff=ae,Ao.endOf=be,Ao.format=ue,Ao.from=ce,Ao.fromNow=pe,Ao.to=fe,Ao.toNow=me,Ao.get=P,Ao.invalidAt=De,Ao.isAfter=ie,Ao.isBefore=oe,Ao.isBetween=ne,Ao.isSame=se,Ao.isValid=Oe,Ao.lang=Do,Ao.locale=ve,Ao.localeData=ge,Ao.max=wo,Ao.min=bo,Ao.parsingFlags=Me,Ao.set=P,Ao.startOf=ye,Ao.subtract=Mo,Ao.toArray=ke,Ao.toDate=xe,Ao.toISOString=le,Ao.toJSON=le,Ao.toString=de,Ao.unix=_e,Ao.valueOf=we,Ao.year=go,Ao.isLeapYear=at,Ao.weekYear=Ee,Ao.isoWeekYear=Se,Ao.quarter=Ao.quarters=ze,Ao.month=Z,Ao.daysInMonth=K,Ao.week=Ao.weeks=ct,Ao.isoWeek=Ao.isoWeeks=pt,Ao.weeksInYear=Ie,Ao.isoWeeksInYear=Pe,Ao.date=Co,Ao.day=Ao.days=Fe,Ao.weekday=je,Ao.isoWeekday=He,Ao.dayOfYear=mt,Ao.hour=Ao.hours=Io,Ao.minute=Ao.minutes=zo,Ao.second=Ao.seconds=No,Ao.millisecond=Ao.milliseconds=Lo,Ao.utcOffset=Bt,Ao.utc=Ft,Ao.local=jt,Ao.parseZone=Ht,Ao.hasAlignedHourOffset=Yt,Ao.isDST=Wt,Ao.isDSTShifted=Gt,Ao.isLocal=Ut,Ao.isUtcOffset=Vt,Ao.isUtc=qt,Ao.isUTC=qt,Ao.zoneAbbr=qe,Ao.zoneName=Xe,Ao.dates=$("dates accessor is deprecated. Use date instead.",Co),Ao.months=$("months accessor is deprecated. Use month instead",Z),Ao.years=$("years accessor is deprecated. Use year instead",go),Ao.zone=$("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Rt);var Bo=Ao,Ro={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Fo={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},jo="Invalid date",Ho="%d",Yo=/\d{1,2}/,Wo={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Go=y.prototype;Go._calendar=Ro,Go.calendar=Je,Go._longDateFormat=Fo,Go.longDateFormat=Qe,Go._invalidDate=jo,Go.invalidDate=$e,Go._ordinal=Ho,Go.ordinal=ti,Go._ordinalParse=Yo,Go.preparse=ei,Go.postformat=ei,Go._relativeTime=Wo,Go.relativeTime=ii,Go.pastFuture=oi,Go.set=ni,Go.months=U,Go._months=lo,Go.monthsShort=V,Go._monthsShort=uo,Go.monthsParse=q,Go.week=dt,Go._week=yo,Go.firstDayOfYear=ut,Go.firstDayOfWeek=lt,Go.weekdays=Le,Go._weekdays=To,Go.weekdaysMin=Be,Go._weekdaysMin=So,Go.weekdaysShort=Ae,Go._weekdaysShort=Eo,Go.weekdaysParse=Re,Go.isPM=Ge,Go._meridiemParse=Po,Go.meridiem=Ue,x("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=$("moment.lang is deprecated. Use moment.locale instead.",x),e.langData=$("moment.langData is deprecated. Use moment.localeData instead.",O);var Uo=Math.abs,Vo=_i("ms"),qo=_i("s"),Xo=_i("m"),Zo=_i("h"),Ko=_i("d"),Jo=_i("w"),Qo=_i("M"),$o=_i("y"),tn=ki("milliseconds"),en=ki("seconds"),on=ki("minutes"),nn=ki("hours"),sn=ki("days"),rn=ki("months"),an=ki("years"),hn=Math.round,dn={s:45,m:45,h:22,d:26,M:11},ln=Math.abs,un=Pt.prototype;un.abs=ci,un.add=fi,un.subtract=mi,un.as=bi,un.asMilliseconds=Vo,un.asSeconds=qo,un.asMinutes=Xo,un.asHours=Zo,un.asDays=Ko,un.asWeeks=Jo,un.asMonths=Qo,un.asYears=$o,un.valueOf=wi,un._bubble=vi,un.get=xi,un.milliseconds=tn,un.seconds=en,un.minutes=on,un.hours=nn,un.days=sn,un.weeks=Oi,un.months=rn,un.years=an,un.humanize=Ti,un.toISOString=Ei,un.toString=Ei,un.toJSON=Ei,un.locale=ve,un.localeData=ge,un.toIsoString=$("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ei),un.lang=Do,z("X",0,0,"unix"),z("x",0,0,"valueOf"),R("x",Ki),R("X",Qi),H("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),H("x",function(t,e,i){i._d=new Date(v(t))}),e.version="2.10.3",i(Ct),e.fn=Bo,e.min=Et,e.max=St,e.utc=h,e.unix=Ze,e.months=ai,e.isDate=n,e.locale=x,e.invalid=c,e.duration=Xt,e.isMoment=m,e.weekdays=di,e.parseZone=Ke,e.localeData=O,e.isDuration=It,e.monthsShort=hi,e.weekdaysMin=ui,e.defineLocale=k,e.weekdaysShort=li,e.normalizeUnits=D,e.relativeTimeThreshold=Ci;var cn=e;return cn})}).call(e,i(10)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=11},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>n&&(e[o+n++]=u[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;6>p;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.style&&a.setAttributeNS(null,"style",o.style),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var o=this._options.type[i];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[i]="Date":this._type[i]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(7),s=i(15);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0;ns;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],s=this,r=s._fieldId,a=function(t){var e=t[r];s._data[e]?(e=s._updateItem(t),o.push(e),n.push(t)):(e=s._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),o.length&&this._trigger("update",{items:o,data:n},e),i.concat(o)},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p=o&&o.type||this._options.type,f=o&&o.filter,m=[];if(void 0!=e)d=s._getItem(e,p),f&&!f(d)&&(d=null);else if(void 0!=i)for(u=0,c=i.length;c>u;u++)d=s._getItem(i[u],p),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=s._getItem(l,p),(!f||f(d))&&m.push(d));if(o&&o.order&&void 0==e&&this._sort(m,o.order),o&&o.fields){var v=o.fields;if(void 0!=e)d=this._filterFields(d,v);else for(u=0,c=m.length;c>u;u++)m[u]=this._filterFields(m[u],v)}if("Object"==a){var g={};for(u=0;ue;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&l.push(n[this._fieldId]));else if(h){s=[];for(o in r)r.hasOwnProperty(o)&&s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=r[o],l.push(n[this._fieldId]));return l},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n=e&&e.filter,s=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],o=i[this._fieldId],t(i,o);else for(o in r)r.hasOwnProperty(o)&&(i=this._getItem(o,s),(!n||n(i))&&t(i,o))},o.prototype.map=function(t,e){var i,o=e&&e.filter,n=e&&e.type||this._options.type,s=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!o||o(i))&&s.push(t(i,a)));return e&&e.order&&this._sort(s,e.order),s},o.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var o in t)t.hasOwnProperty(o)&&-1!=e.indexOf(o)&&(i[o]=t[o]);else for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&(i[e[o]]=t[o]);return i},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||r>o)&&(i=s,o=r)}return i},o.prototype.min=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||o>r)&&(i=s,o=r)}return i},o.prototype.distinct=function(t){var e,i=this._data,o=[],s=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(o[e]==d){l=!0;break}l||void 0===d||(o[r]=d,r++)}if(s)for(e=0;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(7),s=i(14);o.prototype.setData=function(t){var e,i,o;if(this._data){this._data.off&&this._data.off("*",this.listener),e=[];for(var n in this._ids)this._ids.hasOwnProperty(n)&&e.push(n);this._ids={},this.length=0,this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,o=e.length;o>i;i++)n=e[i],this._ids[n]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},o=[],n=[],s=0;so;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.camera.setArmRotation(1,.5),this.camera.setArmLength(1.7),this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.axisColor="#4D4D4D",this.gridColor="#D3D3D3",this.dataColor={fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(19),a=i(14),h=i(16),d=i(7),l=i(20),u=i(18),c=i(21),p=i(22),f=i(23),m=i(24);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.axisColor,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.axisColor,u.fillStyle=this.dataColor.fill,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.axisColor,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(k,n.x,n.y));var O=this.zLabel;O.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.axisColor,v.fillText(O,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f=this.frame.canvas,m=f.getContext("2d");if(m.lineJoin="round",m.lineCap="round",!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(p=(t.point.z+e.point.z+i.point.z+n.point.z)/4,d=240*(1-(p-this.zMin)*this.scale.z/this.verticalRatio),u=1,this.showShadow?(c=Math.min(1+x.x/k/2,1),a=this._hsv2rgb(d,u,c),h=a):(c=1,a=this._hsv2rgb(d,u,c),h=this.axisColor)):(a="gray",h=this.axisColor),m.lineWidth=this._getStrokeWidth(t),m.fillStyle=a,m.strokeStyle=h,m.beginPath(),m.moveTo(t.screen.x,t.screen.y),m.lineTo(e.screen.x,e.screen.y),m.lineTo(n.screen.x,n.screen.y),m.lineTo(i.screen.x,i.screen.y),m.closePath(),m.fill(),m.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.dataColor.fill,m=this.dataColor.stroke):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=this._getStrokeWidth(d),i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0){for(t=this.dataPoints[0],o.lineWidth=this._getStrokeWidth(t),o.lineJoin="round",o.lineCap="round",o.strokeStyle=this.dataColor.stroke,o.beginPath(),o.moveTo(t.screen.x,t.screen.y),e=1;e0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=o},function(t,e){function i(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=i},function(t,e){function i(t){return t?o(t):void 0}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var o,n=0;no;++o)i[o].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){function i(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}i.subtract=function(t,e){var o=new i;return o.x=t.x-e.x,o.y=t.y-e.y,o.z=t.z-e.z,o},i.add=function(t,e){var o=new i;return o.x=t.x+e.x,o.y=t.y+e.y,o.z=t.z+e.z,o},i.avg=function(t,e){return new i((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},i.crossProduct=function(t,e){var o=new i;return o.x=t.y*e.z-t.z*e.y,o.y=t.z*e.x-t.x*e.z,o.z=t.x*e.y-t.y*e.x,o},i.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=i},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(20);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t, -this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(16);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e){function i(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}i.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(){this._current=this._start-this._start%this._step},i.prototype.next=function(){this._current+=this._step},i.prototype.end=function(){return this._current>this._end},t.exports=i},function(t,e,i){function o(t,e,i,d){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof r||i instanceof a)&&i instanceof Object){var c=d;d=i,i=c}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:n,width:null,height:null,maxHeight:null,minHeight:null},this.options=s.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new h(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new l(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new u(this.body),this.components.push(this.currentTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},d&&this.setOptions(d),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(19),i(3),i(8)),s=i(7),r=i(14),a=i(16),h=i(26),d=i(30),l=i(39),u=i(44),c=i(42),p=i(31),f=i(45),m=i(47)["default"],v=i(47).printStyle,g=i(48).allOptions,y=i(48).configureOptions;o.prototype=new d,o.prototype._createConfigurator=function(){return new f(this,this.dom.container,y)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){var e=m.validate(t,g);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",v),d.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;if(i){var o=this.getSelection();this.setItems(null),this.setItems(i),this.setSelection(o)}}},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof r||t instanceof a?t:new r(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this.getItemRange();var n=void 0!=this.options.start?this.options.start:o.min,s=void 0!=this.options.end?this.options.end:o.max;this.setWindow(n,s,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof r||t instanceof a?t:new r(t):null,this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.fit=function(t){var e=t&&void 0!==t.animation?t.animation:!0,i=this.getItemRange();this.range.setRange(i.min,i.max,e)},o.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=e.min,o=e.max,n=null,r=null;if(null!=i&&null!=o){var a,h,d,l,u;!function(){var e=function(t){return s.convert(t.data.start,"Date").valueOf()},c=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return s.convert(e,"Date").valueOf()};a=o-i,0>=a&&(a=10),h=a/t.props.center.width,s.forEach(t.itemSet.items,function(t){t.show();var s=e(t),a=c(t),d=new Date(s-(t.getWidthLeft()+10)*h),l=new Date(a+(t.getWidthRight()+10)*h);i>d&&(i=d,n=t),l>o&&(o=l,r=t)}.bind(t)),n&&r&&(d=n.getWidthLeft()+10,l=r.getWidthRight()+10,u=t.props.center.width-d-l,u>0&&(i=e(n)-d*a/u,o=c(r)+l*a/u))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=s.convert(i.start,"Date").valueOf(),n=s.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||t>o)&&(t=o),(null===e||n>e)&&(e=o)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-s.getAbsoluteLeft(this.dom.centerContainer),n=i-s.getAbsoluteTop(this.dom.centerContainer),r=this.itemSet.itemFromTarget(t),a=this.itemSet.groupFromTarget(t),h=c.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),f=d?d(p,l,u):p,m=s.getTarget(t),v=null;return null!=r?v="item":null!=h?v="custom-time":s.hasParent(m,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&s.hasParent(m,this.timeAxis2.dom.foreground)?v="axis":s.hasParent(m,this.itemSet.dom.labelSet)?v="group-label":s.hasParent(m,this.currentTime.bar)?v="current-time":s.hasParent(m,this.dom.center)&&(v="background"),{event:t,item:r?r.id:null,group:a?a.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:f}},t.exports=o},function(t,e,i){function o(t,e){var i=a().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,moment:a,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function s(t,e){return{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}}var r=i(7),a=(i(27),i(8)),h=i(28),d=i(29);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,s=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,l=this.end,u="object"==typeof i&&"duration"in i?i.duration:500,c="object"==typeof i&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",p=r.easingFunctions[c];if(!p)throw new Error("Unknown easing function "+JSON.stringify(c)+". Choose from: "+Object.keys(r.easingFunctions).join(", "));var f=(new Date).valueOf(),m=!1,v=function b(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-f,i=p(e/u),r=e>u,c=r||null===n?n:h+(n-h)*i,v=r||null===s?s:l+(s-l)*i;g=a._applyRange(c,v),d.updateHiddenDates(a.options.moment,a.body,a.options.hiddenDates),m=m||g,g&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),r?m&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animationTimer=setTimeout(b,20)}};return v()}var g=this._applyRange(n,s);if(d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),g){var y={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",y),this.body.emitter.emit("rangechanged",y)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.prototype._onDragEnd=function(t){this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&(!this.options.zoomKey||t[this.options.zoomKey])){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.options.moment,this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX,i=e-r.getAbsoluteLeft(this.body.dom.centerContainer),o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){i(3);e.onTouch=function(t,e){e.inputHandler=function(t){t.isFirst&&!o&&(e(t),o=!0,setTimeout(function(){o=!1},0))},t.on("hammer.input",e.inputHandler)};var o=!1;e.onRelease=function(t,e){return e.inputHandler=function(t){t.isFinal&&!n&&(e(t),n=!0,setTimeout(function(){n=!1},0))},t.on("hammer.input",e.inputHandler)};var n=!1;e.offTouch=function(t,e){t.off("hammer.input",e.inputHandler)},e.offRelease=e.offTouch},function(t,e){function i(t,e){this.options=null,this.props=null}i.prototype.setOptions=function(t){t&&util.extend(this.options,t)},i.prototype.redraw=function(){return!1},i.prototype.destroy=function(){},i.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=i},function(t,e){e.convertHiddenOptions=function(t,e,i){if(e.hiddenDates=[],i&&1==Array.isArray(i)){for(var o=0;o=4*a){var c=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;p>d;)switch(i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),o[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(i);var v=e.isHidden(i.range.start,i.hiddenDates),g=e.isHidden(i.range.end,i.hiddenDates),y=i.range.start,b=i.range.end;1==v.hidden&&(y=1==i.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==i.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&i.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){o=!0;break}}if(1==o&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n=i(19),s=i(3),r=i(27),a=i(7),h=(i(14),i(16),i(26),i(31),i(39)),d=i(40),l=i(29),u=i(42);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:30}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e; -}),r.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof t.orientation&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&l.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=a.deepExtend({},this.options);this.components.forEach(function(t){a.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.getEventProperties=function(t){return{event:t}},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?a.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,a.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this.redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(o,n,s)}},o.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation.item,r=!1,a=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset",r=this._orderGroups()||r;var h=e.end-e.start,d=h!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;d&&(this.stackDirty=!0),this.lastVisibleInterval=h,this.props.lastWidth=this.props.width;var l=this.stackDirty,u=this._firstGroup(),c={item:t.item,axis:t.axis},p={item:t.item,axis:t.item.vertical/2},f=0,m=t.axis+t.item.vertical;return this.groups[g].redraw(e,p,l),s.forEach(this.groups,function(t){var i=t==u?c:p,o=t.redraw(e,i,l);r=o||r,f+=t.height}),f=Math.max(f,m),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(t.stopPropagation(),o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){i.push(e.id);var s=o._getItemRange(this.itemsData.get(i,this.itemOptions));i=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=s.min&&d<=s.max&&!(a instanceof m)&&i.push(a.id)}}else{var l=i.indexOf(e.id);-1==l?i.push(e.id):i.splice(l,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},o._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&ec;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var o=this;if(i.length>0){var s=i[0].top,r=i[0].top+i[0].height;if(n.forEach(i,function(t){s=Math.min(s,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(o.subgroups[t.data.subgroup].height=Math.max(o.subgroups[t.data.subgroup].height,t.height),o.subgroups[t.data.subgroup].visible=!0)}),s>t.axis){var a=s-t.axis;r-=a,n.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-o.vertical+ie.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(3),i(2));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t,e,i,s){this.moment=n,this.current=this.moment(),this._start=this.moment(),this._end=this.moment(),this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=s,void 0===s&&(this.hiddenDates=[]),this.format=o.FORMAT}var n=i(8),s=i(29),r=i(7);o.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},o.prototype.setMoment=function(t){this.moment=t,this.current=this.moment(this.current),this._start=this.moment(this._start),this._end=this.moment(this._end)},o.prototype.setFormat=function(t){var e=r.deepExtend({},o.FORMAT);this.format=r.deepExtend(e,t)},o.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?this.moment(t.valueOf()):new Date,this._end=void 0!=e?this.moment(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},o.prototype.start=function(){this.current=this._start.clone(),this.roundToMinor()},o.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.year(this.step*Math.floor(this.current.year()/this.step)),this.current.month(0);case"month":this.current.date(1);case"day":case"weekday":this.current.hours(0);case"hour":this.current.minutes(0);case"minute":this.current.seconds(0);case"second":this.current.milliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.subtract(this.current.milliseconds()%this.step,"milliseconds");break;case"second":this.current.subtract(this.current.seconds()%this.step,"seconds");break;case"minute":this.current.subtract(this.current.minutes()%this.step,"minutes");break;case"hour":this.current.subtract(this.current.hours()%this.step,"hours");break;case"weekday":case"day":this.current.subtract((this.current.date()-1)%this.step);break;case"month":this.current.subtract(this.current.month()%this.step);break;case"year":this.current.subtract(this.current.year()%this.step)}},o.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},o.prototype.next=function(){var t=this.current.valueOf();if(this.current.month()<6)switch(this.scale){case"millisecond":this.current.add(this.step,"millisecond");break;case"second":this.current.add(this.step,"second");break;case"minute":this.current.add(this.step,"minute");break;case"hour":this.current.add(this.step,"hour"),this.current.subtract(this.current.hours()%this.step);break;case"weekday":case"day":this.current.add(this.step,"day");break;case"month":this.current.add(this.step,"month");break;case"year":this.current.add(this.step,"year")}else switch(this.scale){case"millisecond":this.current.add(this.step,"millisecond");break;case"second":this.current.add(this.step,"second");break;case"minute":this.current.add(this.step,"minute");break;case"hour":this.current.add(this.step,"hour");break;case"weekday":case"day":this.current.add(this.step,"day");break;case"month":this.current.add(this.step,"month");break;case"year":this.current.add(this.step,"year")}if(1!=this.step)switch(this.scale){case"millisecond":this.current.milliseconds()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.mlliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+u+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"vis-year"+c+n(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){n.call(this,t,e,i),this.width=0,this.height=0,this.top=0,this.left=0}var n=(i(7),i(32));o.prototype=Object.create(n.prototype),o.prototype.redraw=function(t,e,i){var o=!1;this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.width=this.dom.background.offsetWidth,this.dom.background.style.height="0";for(var n=0,s=this.visibleItems.length;s>n;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(2);i(7);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,format:r.FORMAT,moment:h,timeAxis:null},this.options=n.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n=i(7),s=i(28),r=i(35),a=i(29),h=i(8);o.prototype=new s,o.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showMinorLabels","showMajorLabels","hiddenDates","timeAxis","moment"],this.options,t),n.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"==typeof t.orientation&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof h.locale?h.locale(t.locale):h.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=n.convert(this.body.range.start,"Number"),i=n.convert(this.body.range.end,"Number"),o=this.body.util.toTime(7*(this.props.minorCharWidth||10)).valueOf(),s=o-a.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);s-=this.body.util.toTime(0).valueOf();var h=new r(new Date(e),new Date(i),s,this.body.hiddenDates);h.setMoment(this.options.moment),this.options.format&&h.setFormat(this.options.format),this.options.timeAxis&&h.setScale(this.options.timeAxis),this.step=h;var d=this.dom;d.redundant.lines=d.lines,d.redundant.majorTexts=d.majorTexts,d.redundant.minorTexts=d.minorTexts,d.lines=[],d.majorTexts=[],d.minorTexts=[];var l,u,c,p,f,m,v,g,y,b=void 0,w=0;for(h.start(),u=h.getCurrent(),p=this.body.util.toScreen(u);h.hasNext()&&1e3>w;){w++,f=h.isMajor(),y=h.getClassName(),g=h.getLabelMinor(),l=u,c=p,h.next(),u=h.getCurrent(),p=this.body.util.toScreen(u),m=p-c;var _=(g.length+1)*this.props.minorCharWidth0&&(void 0==b&&(b=c),this._repaintMajorText(c,h.getLabelMajor(),t,y)),v=this._repaintMajorLine(c,m,t,y)):_?v=this._repaintMinorLine(c,m,t,y):v&&(v.style.width=parseInt(v.style.width)+m+"px")}if(this.options.showMajorLabels){var x=this.body.util.toTime(0),k=h.getLabelMajor(x),O=k.length*(this.props.majorCharWidth||10)+10;(void 0==b||b>O)&&this._repaintMajorText(0,k,t,y)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px",n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top=s.majorLabelHeight+"px":n.style.top=this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",n.style.left=t-s.minorLineWidth/2+"px",n.style.width=e+"px",n.className="vis-grid vis-vertical vis-minor "+o,n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top="0":n.style.top=this.body.domProps.top.height+"px",n.style.left=t-s.majorLineWidth/2+"px",n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n.className="vis-grid vis-vertical vis-major "+o,n},o.prototype._calculateCharSize=function(){ -this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(41),r=i(19),a=i(3),h=i(7);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;no&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-network-configuration button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-network-configuration button hover"},e.onmouseout=function(){e.className="vis-network-configuration button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-network-configuration vis-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push(),this.colorPicker.insertTo(this.container)}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-network-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),s=1;o>s;s++)n[s-1]=e[s];n.forEach(function(t){r.appendChild(t)}),i.domElements.push(r)}()}}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-network-configuration header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-network-configuration label s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-network-configuration select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;se&&n>2*e?a.min=2*e:n>.1*e&&(a.min=e/10),2*e>s&&1!==s&&(a.max=2*e),a.value=e):a.value=o;var d=document.createElement("input");d.className="vis-network-configuration rangeinput",d.value=a.value;var l=this;a.onchange=function(){d.value=this.value,l._update(Number(this.value),i)},a.oninput=function(){d.value=this.value};var u=this._makeLabel(i[i.length-1],i);this._makeItem(i,u,a,d)}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-network-configuration checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeTextInput",value:function(t,e,i){var o=document.createElement("input");o.type="text",o.className="vis-network-configuration text",o.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var n=this;o.onchange=function(){n._update(this.value,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],s=document.createElement("div");e=void 0===e?n:e,"none"!==e?(s.className="vis-network-configuration colorBlock",s.style.backgroundColor=e):s.className="vis-network-configuration colorBlock none",e=void 0===e?n:e,s.onclick=function(){o._showColorPicker(e,s,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,s)}},{key:"_showColorPicker",value:function(t,e,i){var o=this,n=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),r=n.left+n.width+5,a=n.top-s.top+.5*n.height;this.colorPicker.show(r,a),this.colorPicker.setColor(t),this.colorPicker.setCallback(function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})}},{key:"_handleObject",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?[]:arguments[1],i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],d=h.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,d,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var l=this._getValue(d);if(a instanceof Array)this._handleArray(a,l,d);else if("string"==typeof a)this._makeTextInput(a,l,d);else if("boolean"==typeof a)this._makeCheckbox(a,l,d);else if(a instanceof Object){var u=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(u=!1),u===!0)if(void 0!==a.enabled){var c=h.copyAndExtendArray(d,"enabled"),p=this._getValue(c);if(p===!0){var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}else this._makeCheckbox(a,p,d)}else{var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}}else console.error("dont know how to handle",a,r,d)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],o=i;t="true"===t?!0:t,t="false"===t?!1:t;for(var n=0;nvar options = "+JSON.stringify(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;es;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),h):n.distance<=d?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),h):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),h),r=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],r=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var u in i){var c=void 0;if(void 0!==i[u].__type__&&n===!0){var p=t.findInOptions(e,i[u],s.copyAndExtendArray(o,u));r>p.distance&&(a=p.closestMatch,h=p.path,r=p.distance,l=p.indexMatch)}else-1!==u.toLowerCase().indexOf(d)&&(l=u),c=t.levenshteinDistance(e,u),r>c&&(a=u,h=s.copyArray(o),r=c)}return{closestMatch:a,path:h,distance:r,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-s.getAbsoluteLeft(this.dom.centerContainer),n=i-s.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=c.customTimeFromTarget(t),h=s.getTarget(t),d=null;s.hasParent(h,this.timeAxis.dom.foreground)?d="axis":this.timeAxis2&&s.hasParent(h,this.timeAxis2.dom.foreground)?d="axis":s.hasParent(h,this.linegraph.yAxisLeft.dom.frame)?d="data-axis":s.hasParent(h,this.linegraph.yAxisRight.dom.frame)?d="data-axis":s.hasParent(h,this.linegraph.legendLeft.dom.frame)?d="legend":s.hasParent(h,this.linegraph.legendRight.dom.frame)?d="legend":null!=a?d="custom-time":s.hasParent(h,this.currentTime.bar)?d="current-time":s.hasParent(h,this.dom.center)&&(d="background");var l=[],u=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return u.hidden||l.push(u.screenToValue(n)),p.hidden||l.push(p.screenToValue(n)),{event:t,what:d,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:r,value:l}},o.prototype._createConfigurator=function(){return new f(this,this.dom.container,y)},t.exports=o},function(t,e,i){function o(t,e){this.id=n.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=n.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=n.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var n=i(7),s=i(13),r=i(14),a=i(16),h=i(28),d=i(51),l=i(53),u=i(57),c=i(56),p=(i(54),"__ungrouped__");o.prototype=new h,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),u={};for(this._getRelevantData(a,u,d,l),this._applySampling(a,u),e=0;ep&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;ro){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=s)d.push(n[l]);e[t[o]]=d}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getData(o)):h=h.concat(n.getData(o)):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;ut?-1:1});for(var a=0;a0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(this.groups[i].visible!==!0||void 0!==this.linegraphOptions.visibility[i]&&this.linegraphOptions.visibility[i]!==!0||e++);if(0===this.amountOfGroups||0===e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=this.options.visible===!0?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame; -n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"===s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,this.options.icons===!0?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e,i=this.options.orientation;if(this.master===!1){var o,n,r,h;-1!==this.zeroCrossing&&this.options.alignZeros===!0?this.range.end>0?(o=this.range.end/this.zeroCrossing,n=this.range.end-this.amountOfSteps*o,r=this.range.end):(o=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing),n=this.range.start,r=this.range.start+o*this.amountOfSteps):(n=this.range.start,r=this.range.end),h=this.stepPixels}else h=this.props.majorCharHeight,n=this.range.start,r=this.range.end;if(this.step=e=new a(n,r,h,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===!1&&this.options.alignZeros),this.master===!0)this.stepPixels=this.dom.frame.offsetHeight/e.marginRange*e.step,this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels);else if(this.options.alignZeros===!0&&-1!==this.zeroCrossing){var d=(e.current-this.zeroCrossing*e.step)/e.step;this.step.shift(d)}this.valueAtBottom=e.marginEnd,this.maxLabelSize=0;for(var l=0,u=0,c=!1;u0&&u!==this.amountOfSteps&&((this.options.showMinorLabels&&c===!1||this.master===!1&&this.options.showMinorLabels===!0)&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-minor",this.props.minorCharHeight),c&&this.options.showMajorLabels&&this.master===!0||this.options.showMinorLabels===!1&&this.master===!1&&c===!0?(l>=0&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(l,i,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(l,i,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth)),this.master===!0&&0===e.current&&(this.zeroCrossing=u),e.next(),u+=1;this.master===!0&&0===e.current&&(this.zeroCrossing=u),this.conversionFactor=this.stepPixels/e.step;var p=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(p=this.props.titleCharHeight);var f=this.options.icons===!0?Math.max(this.options.iconWidth,p)+this.options.labelOffsetX+15:p+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&this.options.visible===!0?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtBottom-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtBottom-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"===i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizes&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(d===!0)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},i.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.alignZeros===!0&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},i.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},i.prototype.hasNext=function(){return this.current>=this.marginStart},i.prototype.next=function(){var t=this.current;this.current-=this.step,this.current===t&&(this.current=this._end)},i.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},i.prototype.getCurrent=function(){var t=Math.abs(this.current)t)for(var e=0;-t>e;e++)this.previous();else if(t>0)for(var e=0;t>e;e++)this.next()},t.exports=i},function(t,e,i){function o(t,e,i,o){this.id=e;var s=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation"];this.options=n.selectiveBridgeObject(s,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n=i(7),s=i(13),r=i(54),a=i(56),h=i(55);o.prototype.setItems=function(t){if(null!=t){this.itemsData=t,1==this.options.sort&&this.itemsData.sort(function(t,e){return t.x-e.x});for(var e=0;et[o].y?t[o].y:e,i=i0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o.prototype.draw=function(t,e,i){if(null!=t&&t.length>0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=n.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t),1==e.options.shaded.enabled){var d,l=n.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&s.draw(t,e,i)}},o._catmullRomUniform=function(t){for(var e,i,o,n,s,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={x:(-e.x+6*i.x+o.x)*h,y:(-e.y+6*i.y+o.y)*h},r={x:(i.x+6*o.x-n.x)*h,y:(i.y+6*o.y-n.y)*h},a+="C"+s.x+","+s.y+" "+r.x+","+r.y+" "+o.x+","+o.y+" ";return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",k=t.length,O=0;k-1>O;O++)o=0==O?t[0]:t[O-1],n=t[O],s=t[O+1],r=k>O+2?t[O+2]:s,d=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(n.x-s.x,2)+Math.pow(n.y-s.y,2)),u=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={x:(-b*o.x+c*n.x+w*s.x)*f,y:(-b*o.y+c*n.y+w*s.y)*f},h={x:(y*n.x+p*s.x-b*r.x)*m,y:(y*n.y+p*s.y-b*r.y)*m},0==a.x&&0==a.y&&(a=n),0==h.x&&0==h.y&&(h=s),x+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+s.x+","+s.y+" ";return x},o._linear=function(t){for(var e="",i=0;it[o].y?t[o].y:e,i=it[o].y?t[o].y:e,i=i0&&(r=Math.min(r,Math.abs(c[l-1].x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,d.options.stack===!0?c[l].y0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=nt?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.prepareElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=["color","font","fixed","shadow"];if(B.selectiveNotDeepExtend(o,t,e,i),B.mergeOptions(t,e,"shadow"),void 0!==e.color&&null!==e.color){var n=B.parseColor(e.color);B.fillIfDefined(t.color,n)}else i===!0&&null===e.color&&(t.color=void 0,delete t.color);void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&a["default"].parseOptions(t.font,e),void 0!==e.scaling&&B.mergeOptions(t.scaling,e.scaling,"label")}}]),t}();e["default"]=R,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;i=this.options.scaling.label.maxVisible&&(r=Number(this.options.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=n(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=n(p,2);i=f[0],h=f[1],t.font=(e&&this.options.labelHighlightBold?"bold ":"")+r+"px "+this.options.font.face,t.fillStyle=u,t.textAlign="center",this.options.font.strokeWidth>0&&(t.lineWidth=this.options.font.strokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.options.font.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.options.font.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.options.font.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.options.font.color||"#000000",i=this.options.font.strokeColor||"#ffffff";if(t<=this.options.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.options.font.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=arguments.length<=3||void 0===arguments[3]?0:arguments[3],n=arguments.length<=4||void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.options.font.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.options.font.size,"hanging"===n&&(this.size.top+=.5*this.options.font.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.options.label){o=String(this.options.label).split("\n"),n=o.length,t.font=(e&&this.options.labelHighlightBold?"bold ":"")+this.options.font.size+"px "+this.options.font.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e); -t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.save(),this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t),t.restore()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o){var n=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+n+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t),t.fillText(this.options.icon.code,e,i),this.disableShadow(t)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this._distanceToBorder(e)}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.width/2,o=this.height/2,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=["id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","selectionWidth","selfReferenceSize","to","title","value","width"];if(f.selectiveDeepExtend(o,t,e,i),f.mergeOptions(t,e,"smooth"),f.mergeOptions(t,e,"shadow"),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=void 0,delete t.dashes),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label")):i===!0&&null===e.scaling&&(t.scaling=void 0,delete t.scaling),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var n=e.arrows.toLowerCase();-1!=n.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=n.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=n.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to"),f.mergeOptions(t.arrows,e.arrows,"middle"),f.mergeOptions(t.arrows,e.arrows,"from")}else i===!0&&null===e.arrows&&(t.arrows=void 0,delete t.arrows);if(void 0!==e.color&&null!==e.color)if(f.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var s=!1;void 0!==e.color.color&&(t.color.color=e.color.color,s=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,s=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,s=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&s===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=void 0,delete t.color);void 0!==e.font&&a["default"].parseOptions(t.font,e)}}]),t}();e["default"]=m,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=void 0,h=void 0;a=r.x,h=r.y;var d=1e9,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=t,v=e;for(u=1;10>u;u++)c=.1*u,p=Math.pow(1-c,2)*t+2*c*(1-c)*a+Math.pow(c,2)*i,f=Math.pow(1-c,2)*e+2*c*(1-c)*h+Math.pow(c,2)*o,u>0&&(l=this._getDistanceToLine(m,v,p,f,n,s),d=d>l?l:d),m=p,v=f;return d}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,e===!0?this.color.highlight:i===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,o,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,s,r,a);else{var d=this._getCircleData(),l=n(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"drawArrowHead",value:function(t,e,i,o,s){t.strokeStyle=this.getColor(t,o,s),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(o,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=n(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(t=this.from.x,e=this.from.yMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y1&&(this.startedStabilization=!1),this.stopSimulation())}},{key:"_emitStabilized",value:function(){var t=this;(this.stabilizationIterations>1||this.initialStabilizationEmitted===!1)&&(this.initialStabilizationEmitted=!0,setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:t.stabilizationIterations}),t.stabilizationIterations=0},0))}},{key:"physicsTick",value:function(){this.stabilized===!1&&(this.calculateForces(),this.stabilized=this.moveNodes(),this.stabilized===!0?this.revert():this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilizationIterations++)}},{key:"updatePhysicsData",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)t.hasOwnProperty(i)&&t[i].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(o);for(var n=0;na&&o===!0,t=!0}return t===!0?n>.5*this.options.maxVelocity?!1:o:!0}},{key:"_performStep",value:function(t,e){var i=this.body.nodes[t],o=this.options.timestep,n=this.physicsBody.forces,s=this.physicsBody.velocities;if(this.previousStates[t]={x:i.x,y:i.y,vx:s[t].x,vy:s[t].y},i.options.fixed.x===!1){var r=this.modelOptions.damping*s[t].x,a=(n[t].x-r)/i.options.mass;s[t].x+=a*o,s[t].x=Math.abs(s[t].x)>e?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;o>s;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=t&&i.push(n.id)}for(var o=0;o0&&Object.keys(s).length>0&&i.push({nodes:n,edges:s})}}}for(var o=0;oo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!0:arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];r[d]={x:l.x,y:l.y}}var u=e.releaseFunction(a,r);for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];void 0!==u[d]&&(l.x=u[d].x||o.x,l.y=u[d].y||o.y)}}else for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];l=n[d],l.x=o.x,l.y=o.y}for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];l.vx=o.vx,l.vy=o.vy,l.options.hidden=!1,l.togglePhysics(!0),delete this.clusteredNodes[d]}for(var c in s)if(s.hasOwnProperty(c)){var p=s[c];if(void 0===this.body.nodes[p.fromId]||void 0===this.body.nodes[p.toId]||p.toId==t||p.fromId==t)p.edgeType.cleanup(),p.disconnect(),delete this.body.edges[c];else if(void 0!==this.clusteredNodes[p.fromId]||void 0!==this.clusteredNodes[p.toId]){var f=void 0,m=void 0,v=this.clusteredNodes[p.fromId]||this.clusteredNodes[p.toId],g=v.clusterId,y=this.body.nodes[g];if(y.containedEdges[c]=p,void 0!==this.clusteredNodes[p.fromId]?(f=g,m=p.toId):(f=p.fromId,m=g),this.body.nodes[f].options.hidden!==!0&&this.body.nodes[m].options.hidden!==!0){var b=this._cloneOptions(p,"edge"),w="clusterEdge:"+h.randomUUID();h.deepExtend(b,y.clusterEdgeProperties),h.deepExtend(b,{from:f,to:m,hidden:!1,physics:!0,id:w});var _=this.body.functions.createEdge(b);this.body.edges[w]=_,this.body.edges[w].connect()}}else p.options.hidden=!1,p.togglePhysics(!0)}for(var x=[],k=0;ko;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e,i){for(var o=!0;o;){var n=t,s=e,r=i;a=d=h=void 0,o=!1,null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,s);if(void 0!==a){if("value"in a)return a.value;var h=a.get;return void 0===h?void 0:h.call(r)}var d=Object.getPrototypeOf(n);if(null===d)return void 0;t=d,e=s,i=r,o=!0}},a=i(62),h=o(a),d=function(t){function e(t,i,o,s,a){n(this,e),r(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,o,s,a),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}return s(e,t),e}(h["default"]);e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;e.clearRect(0,0,i,o),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0)for(var r=0;rt.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),ot.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),o.5*this.body.nodeIndices.length)return void this.fit(i,!1);t=this._getRange(i.nodes);var a=this.body.nodeIndices.length;e=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);e*=h}else{this.body.emitter.emit("_resizeNodes"),t=this._getRange(i.nodes);var d=1.1*Math.abs(t.maxX-t.minX),l=1.1*Math.abs(t.maxY-t.minY),u=this.canvas.frame.canvas.clientWidth/d,c=this.canvas.frame.canvas.clientHeight/l;e=c>=u?u:c}e>1?e=1:0===e&&(e=1);var p=this._findCenter(t),f={position:p,scale:e,animation:i.animation};this.moveTo(f)}},{key:"focus",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey); -this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanges,c=l.edgesChanges;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0):0>h-n?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0):h===n&&u===!0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0),a-o>0?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0):a===o&&c===!0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;nt&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale})}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return void 0}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return void 0}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t}},{key:"_selectionIsEmpty",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptions(e);if(i===!0)return this.body.emitter.emit("refresh"),s.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptions",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof t.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==t.physics.solver&&(this.optionsBackup.physics={solver:t.physics.solver}),t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():("directed"===this.options.hierarchical.sortMethod,0||this._determineLevelsDirected()));var n=this._getDistribution();this._placeNodesByHierarchy(n)}}},{key:"_placeNodesByHierarchy",value:function(t){var e=void 0,i=void 0;this.positionedNodes={};for(var o in t)if(t.hasOwnProperty(o))for(e in t[o].nodes)t[o].nodes.hasOwnProperty(e)&&(i=t[o].nodes[e],"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===i.x&&(i.x=t[o].distance),t[o].distance=i.x+this.nodeSpacing):(void 0===i.y&&(i.y=t[o].distance),t[o].distance=i.y+this.nodeSpacing),this.positionedNodes[e]=!0,this._placeBranchNodes(i.edges,i.id,t,o))}},{key:"_getDistribution",value:function(){var t={},e=void 0,i=void 0;for(e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){i=this.body.nodes[e];var o=void 0===this.hierarchicalLevels[e]?0:this.hierarchicalLevels[e];"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(i.y=this.options.hierarchical.levelSeparation*o,i.options.fixed.y=!0):(i.x=this.options.hierarchical.levelSeparation*o,i.options.fixed.x=!0),void 0===t[o]&&(t[o]={amount:0,nodes:{},distance:0}),t[o].amount+=1,t[o].nodes[e]=i}return t}},{key:"_getHubSize",value:function(){var t=0;for(var e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){var i=this.body.nodes[e];void 0===this.hierarchicalLevels[e]&&(t=i.edges.length0&&(i=this._getHubSize(),0!==i);)for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],e.edges.length===i&&this._setLevelByHubsize(0,e))}},{key:"_setLevelByHubsize",value:function(t,e){if(void 0===this.hierarchicalLevels[e.id]){var i=void 0;this.hierarchicalLevels[e.id]=t;for(var o=0;oo&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===s.x&&(s.x=Math.max(i[a].distance,r.x)),i[a].distance=s.x+this.nodeSpacing,this.positionedNodes[s.id]=!0):(void 0===s.y&&(s.y=Math.max(i[a].distance,r.y)),i[a].distance=s.y+this.nodeSpacing),this.positionedNodes[s.id]=!0,s.edges.length>1&&this._placeBranchNodes(s.edges,s.id,i,a))}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function"); -}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=s.deepExtend({},e.options,!0);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var t=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var e=t.body.edges[t.edgeBeingEditedId],i=t._getNewTargetNode(e.from.x,e.from.y),o=t._getNewTargetNode(e.to.x,e.to.y);t.temporaryIds.nodes.push(i.id),t.temporaryIds.nodes.push(o.id),t.body.nodes[i.id]=i,t.body.nodeIndices.push(i.id),t.body.nodes[o.id]=o,t.body.nodeIndices.push(o.id),t._temporaryBindUI("onTouch",t._controlNodeTouch.bind(t)),t._temporaryBindUI("onTap",function(){}),t._temporaryBindUI("onHold",function(){}),t._temporaryBindUI("onDragStart",t._controlNodeDragStart.bind(t)),t._temporaryBindUI("onDrag",t._controlNodeDrag.bind(t)),t._temporaryBindUI("onDragEnd",t._controlNodeDragEnd.bind(t)),t._temporaryBindUI("onMouseMove",function(){}),t._temporaryBindEvent("beforeDrawing",function(t){var n=e.edgeType.findBorderPositions(t);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),t.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{"boolean":o},filter:{"boolean":o,string:i,array:s,"function":"function"},container:{dom:a},showButton:{"boolean":o},__type__:{object:r,"boolean":o,string:i,array:s,"function":"function"}},edges:{arrows:{to:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},middle:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},from:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},__type__:{string:["from","to","middle"],object:r}},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],"boolean":o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{"boolean":o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:r,string:i}},hidden:{"boolean":o},hoverWidth:{"function":"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},length:{number:n,undefined:"undefined"},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},selectionWidth:{"function":"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{"boolean":o},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},smooth:{enabled:{"boolean":o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"]},roundness:{number:n},__type__:{object:r,"boolean":o}},title:{string:i,undefined:"undefined"},width:{number:n},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{"boolean":o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{"boolean":o},dragView:{"boolean":o},hideEdgesOnDrag:{"boolean":o},hideNodesOnDrag:{"boolean":o},hover:{"boolean":o},keyboard:{enabled:{"boolean":o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{"boolean":o},__type__:{object:r,"boolean":o}},multiselect:{"boolean":o},navigationButtons:{"boolean":o},selectable:{"boolean":o},selectConnectedEdges:{"boolean":o},hoverConnectedEdges:{"boolean":o},tooltipDelay:{number:n},zoomView:{"boolean":o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},hierarchical:{enabled:{"boolean":o},levelSeparation:{number:n},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,"boolean":o}},__type__:{object:r}},manipulation:{enabled:{"boolean":o},initiallyActive:{"boolean":o},addNode:{"boolean":o,"function":"function"},addEdge:{"boolean":o,"function":"function"},editNode:{"function":"function"},editEdge:{"boolean":o,"function":"function"},deleteNode:{"boolean":o,"function":"function"},deleteEdge:{"boolean":o,"function":"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,"boolean":o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{"boolean":o},y:{"boolean":o},__type__:{object:r,"boolean":o}},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},hidden:{"boolean":o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},level:{number:n,undefined:"undefined"},mass:{number:n},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},shadow:{enabled:{"boolean":o},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{"boolean":o,array:s},borderRadius:{number:n},useImageSize:{"boolean":o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{"boolean":o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{"boolean":o},fit:{"boolean":o},__type__:{object:r,"boolean":o}},timestep:{number:n},__type__:{object:r,"boolean":o}},autoResize:{"boolean":o},clickToUse:{"boolean":o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};e.allOptions=d,e.configureOptions=l},function(t,e){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e), -this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e){function i(t){return P=t,p()}function o(){I=0,z=P.charAt(0)}function n(){I++,z=P.charAt(I)}function s(){return P.charAt(I+1)}function r(t){return A.test(t)}function a(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function h(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function d(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=a(n.attr,t.node))),i=s.length-1;i>=0;i--){var h=s[i];h.nodes||(h.nodes=[]),-1===h.nodes.indexOf(n)&&h.nodes.push(n)}e.attr&&(n.attr=a(n.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function u(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=a({},t.edge)),s.attr=a(s.attr||{},n),s}function c(){for(L=E.NULL,N="";" "===z||" "===z||"\n"===z||"\r"===z;)n();do{var t=!1;if("#"===z){for(var e=I-1;" "===P.charAt(e)||" "===P.charAt(e);)e--;if("\n"===P.charAt(e)||""===P.charAt(e)){for(;""!=z&&"\n"!=z;)n();t=!0}}if("/"===z&&"/"===s()){for(;""!=z&&"\n"!=z;)n();t=!0}if("/"===z&&"*"===s()){for(;""!=z;){if("*"===z&&"/"===s()){n(),n();break}n()}t=!0}for(;" "===z||" "===z||"\n"===z||"\r"===z;)n()}while(t);if(""===z)return void(L=E.DELIMITER);var i=z+s();if(S[i])return L=E.DELIMITER,N=i,n(),void n();if(S[z])return L=E.DELIMITER,N=z,void n();if(r(z)||"-"===z){for(N+=z,n();r(z);)N+=z,n();return"false"===N?N=!1:"true"===N?N=!0:isNaN(Number(N))||(N=Number(N)),void(L=E.IDENTIFIER)}if('"'===z){for(n();""!=z&&('"'!=z||'"'===z&&'"'===s());)N+=z,'"'===z&&n(),n();if('"'!=z)throw _('End of string " expected');return n(),void(L=E.IDENTIFIER)}for(L=E.UNKNOWN;""!=z;)N+=z,n();throw new SyntaxError('Syntax error in part "'+x(N,30)+'"')}function p(){var t={};if(o(),c(),"strict"===N&&(t.strict=!0,c()),("graph"===N||"digraph"===N)&&(t.type=N,c()),L===E.IDENTIFIER&&(t.id=N,c()),"{"!=N)throw _("Angle bracket { expected");if(c(),f(t),"}"!=N)throw _("Angle bracket } expected");if(c(),""!==N)throw _("End of file expected");return c(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==N&&"}"!=N;)m(t),";"===N&&c()}function m(t){var e=v(t);if(e)return void b(t,e);var i=g(t);if(!i){if(L!=E.IDENTIFIER)throw _("Identifier expected");var o=N;if(c(),"="===N){if(c(),L!=E.IDENTIFIER)throw _("Identifier expected");t[o]=N,c()}else y(t,o)}}function v(t){var e=null;if("subgraph"===N&&(e={},e.type="subgraph",c(),L===E.IDENTIFIER&&(e.id=N,c())),"{"===N){if(c(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=N)throw _("Angle bracket } expected");c(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function g(t){return"node"===N?(c(),t.node=w(),"node"):"edge"===N?(c(),t.edge=w(),"edge"):"graph"===N?(c(),t.graph=w(),"graph"):null}function y(t,e){var i={id:e},o=w();o&&(i.attr=o),d(t,i),b(t,e)}function b(t,e){for(;"->"===N||"--"===N;){var i,o=N;c();var n=v(t);if(n)i=n;else{if(L!=E.IDENTIFIER)throw _("Identifier or subgraph expected");i=N,d(t,{id:i}),c()}var s=w(),r=u(t,e,i,o,s);l(t,r),e=i}}function w(){for(var t=null;"["===N;){for(c(),t={};""!==N&&"]"!=N;){if(L!=E.IDENTIFIER)throw _("Attribute name expected");var e=N;if(c(),"="!=N)throw _("Equal sign = expected");if(c(),L!=E.IDENTIFIER)throw _("Attribute value expected");var i=N;h(t,e,i),c(),","==N&&c()}if("]"!=N)throw _("Bracket ] expected");c()}return t}function _(t){return new SyntaxError(t+', got "'+x(N,30)+'" (char '+I+")")}function x(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function k(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function O(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},P="",I=0,z="",N="",L=E.NULL,A=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;at.start-e&&this.data.start0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;i0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function M(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=A(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=R(a,h),I(i,e),e.offsetDirection=B(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,z(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Tt||s.eventType===Et)&&(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function z(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Ct||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=L(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=B(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function L(t,e,i){return{x:e/t||0,y:i/t||0}}function B(t,e){return t===e?It:vt(t)>=vt(e)?t>0?zt:Nt:e>0?At:Lt}function R(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return F(e[1],e[0],Ht)-F(t[1],t[0],Ht)}function H(t,e){return R(e[0],e[1],Ht)/R(t[0],t[1],Ht)}function W(){this.evEl=Yt,this.evWin=Gt,this.allow=!0,this.pressed=!1,T.apply(this,arguments)}function Y(){this.evEl=qt,this.evWin=Xt,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Jt,this.started=!1,T.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(Et|Pt)&&(i=O(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},T.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Tt|St)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Tt)for(n=0;na&&(e.push(t),a=e.length-1):n&(Et|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Tt,touchmove:St,touchend:Et,touchcancel:Pt},Kt="touchstart",Jt="touchstart touchmove touchend touchcancel";p(G,T,{handler:function(t){var e=Zt[t.type];if(e===Tt&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(Et|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Qt={touchstart:Tt,touchmove:St,touchend:Et,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,T,{handler:function(t){var e=Qt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,T,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Mt;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(Et|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=M(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Bt||r&&i&Rt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;J.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(i.options.event+(e?Q(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?zt:Nt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?At:Lt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,J,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Et|Pt)&&!n)this.reset();else if(t.eventType&Tt)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&Et)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&Et?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Bt|Rt,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Bt|Rt)?e=t.velocity:i&Bt?e=t.velocityX:i&Rt&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&Et},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,J,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancei;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return n=s.exec(t),o(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=s.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var s=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e; +},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var r={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=r.split(t.style.cssText),n=r.split(i),s=e.extend(o,n);t.style.cssText=r.join(s)},e.removeCssText=function(t,e){var i=r.split(t.style.cssText),o=r.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=r.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(i),n=0;n=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(9)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Ni.apply(null,arguments)}function i(t){Ni=t}function o(t){return"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in Li)o=Li[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function f(t){p(this,t),this._d=new Date(t._d.getTime()),Bi===!1&&(Bi=!0,e.updateOffset(this),Bi=!1)}function m(t){return t instanceof f||null!=t&&null!=t._isAMomentObject}function v(t){return 0>t?Math.ceil(t):Math.floor(t)}function g(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=v(e)),i}function y(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&g(t[o])!==g(e[o]))&&r++;return r+s}function b(){}function w(t){return t?t.toLowerCase().replace("_","-"):t}function _(t){for(var e,i,o,n,s=0;s0;){if(o=x(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&y(n,i,!0)>=e-1)break;e--}s++}return null}function x(e){var i=null;if(!Ri[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Ai._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),k(i)}catch(o){}return Ri[e]}function k(t,e){var i;return t&&(i="undefined"==typeof e?M(t):O(t,e),i&&(Ai=i)),Ai._abbr}function O(t,e){return null!==e?(e.abbr=t,Ri[t]=Ri[t]||new b,Ri[t].set(e),k(t),Ri[t]):(delete Ri[t],null)}function M(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ai;if(!o(t)){if(e=x(t))return e;t=[t]}return _(t)}function D(t,e){var i=t.toLowerCase();Fi[i]=Fi[i+"s"]=Fi[e]=t}function C(t){return"string"==typeof t?Fi[t]||Fi[t.toLowerCase()]:void 0}function T(t){var e,i,o={};for(i in t)r(t,i)&&(e=C(i),e&&(o[e]=t[i]));return o}function S(t,i){return function(o){return null!=o?(P(this,t,o),e.updateOffset(this,i),this):E(this,t)}}function E(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function P(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function I(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=C(t),"function"==typeof this[t])return this[t](e);return this}function z(t,e,i){var o=""+Math.abs(t),n=e-o.length,s=t>=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function N(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Yi[t]=n),e&&(Yi[e[0]]=function(){return z(n.apply(this,arguments),e[1],e[2])}),i&&(Yi[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function A(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function L(t){var e,i,o=t.match(ji);for(e=0,i=o.length;i>e;e++)Yi[o[e]]?o[e]=Yi[o[e]]:o[e]=A(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function B(t,e){return t.isValid()?(e=R(e,t.localeData()),Wi[e]=Wi[e]||L(e),Wi[e](t)):t.localeData().invalidDate()}function R(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Hi.lastIndex=0;o>=0&&Hi.test(t);)t=t.replace(Hi,i),Hi.lastIndex=0,o-=1;return t}function F(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function j(t,e,i){no[t]=F(e)?e:function(t){return t&&i?i:e}}function H(t,e){return r(no,t)?no[t](e._strict,e._locale):new RegExp(W(t))}function W(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Y(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=g(t)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function K(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),V(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function J(t){return null!=t?(K(this,t),e.updateOffset(this,!0),this):E(this,"Month")}function Q(){return V(this.year(),this.month())}function $(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[ao]<0||i[ao]>11?ao:i[ho]<1||i[ho]>V(i[ro],i[ao])?ho:i[lo]<0||i[lo]>24||24===i[lo]&&(0!==i[uo]||0!==i[co]||0!==i[po])?lo:i[uo]<0||i[uo]>59?uo:i[co]<0||i[co]>59?co:i[po]<0||i[po]>999?po:-1,l(t)._overflowDayOfYear&&(ro>e||e>ho)&&(e=ho),l(t).overflow=e),t}function tt(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function et(t,e){var i=!0;return a(function(){return i&&(tt(t+"\n"+(new Error).stack),i=!1),e.apply(this,arguments)},e)}function it(t,e){vo[t]||(tt(e),vo[t]=!0)}function ot(t){var e,i,o=t._i,n=go.exec(o);if(n){for(l(t).iso=!0,e=0,i=yo.length;i>e;e++)if(yo[e][1].exec(o)){t._f=yo[e][0];break}for(e=0,i=bo.length;i>e;e++)if(bo[e][1].exec(o)){t._f+=(n[6]||" ")+bo[e][0];break}o.match(eo)&&(t._f+="Z"),xt(t)}else t._isValid=!1}function nt(t){var i=wo.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(ot(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function st(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function rt(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function at(t){return ht(t)?366:365}function ht(t){return t%4===0&&t%100!==0||t%400===0}function dt(){return ht(this.year())}function lt(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Et(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function ut(t){return lt(t,this._week.dow,this._week.doy).week}function ct(){return this._week.dow}function pt(){return this._week.doy}function ft(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function mt(t){var e=lt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function vt(t,e,i,o,n){var s,r=6+n-o,a=rt(t,0,1+r),h=a.getUTCDay();return n>h&&(h+=7),i=null!=i?1*i:n,s=1+r+7*(e-1)-h+i,{year:s>0?t:t-1,dayOfYear:s>0?s:at(t-1)+s}}function gt(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function yt(t,e,i){return null!=t?t:null!=e?e:i}function bt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function wt(t){var e,i,o,n,s=[];if(!t._d){for(o=bt(t),t._w&&null==t._a[ho]&&null==t._a[ao]&&_t(t),t._dayOfYear&&(n=yt(t._a[ro],o[ro]),t._dayOfYear>at(n)&&(l(t)._overflowDayOfYear=!0),i=rt(n,0,t._dayOfYear),t._a[ao]=i.getUTCMonth(),t._a[ho]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[lo]&&0===t._a[uo]&&0===t._a[co]&&0===t._a[po]&&(t._nextDay=!0,t._a[lo]=0),t._d=(t._useUTC?rt:st).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[lo]=24)}}function _t(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=yt(e.GG,t._a[ro],lt(Et(),1,4).year),o=yt(e.W,1),n=yt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=yt(e.gg,t._a[ro],lt(Et(),s,r).year),o=yt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=vt(i,o,n,r,s),t._a[ro]=a.year,t._dayOfYear=a.dayOfYear}function xt(t){if(t._f===e.ISO_8601)return void ot(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=R(t._f,t._locale).match(ji)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Yi[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),U(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[lo]<=12&&t._a[lo]>0&&(l(t).bigHour=void 0),t._a[lo]=kt(t._locale,t._a[lo],t._meridiem),wt(t),$(t)}function kt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function Ot(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function Mt(t){if(!t._d){var e=T(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],wt(t)}}function Dt(t){var e=new f($(Ct(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Ct(t){var e=t._i,i=t._f;return t._locale=t._locale||M(t._l),null===e||void 0===i&&""===e?c({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),m(e)?new f($(e)):(o(i)?Ot(t):i?xt(t):n(e)?t._d=e:Tt(t),t))}function Tt(t){var i=t._i;void 0===i?t._d=new Date:n(i)?t._d=new Date(+i):"string"==typeof i?nt(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),wt(t)):"object"==typeof i?Mt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function St(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,Dt(s)}function Et(t,e,i,o){return St(t,e,i,o,!1)}function Pt(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Et();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+z(~~(t/60),2)+e+z(~~t%60,2)})}function Bt(t){var e=(t||"").match(eo)||[],i=e[e.length-1]||[],o=(i+"").match(Mo)||["-",0,0],n=+(60*o[1])+g(o[2]);return"+"===o[0]?n:-n}function Rt(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(m(t)||n(t)?+t:+Et(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):Et(t).local()}function Ft(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function jt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=Bt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=Ft(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?ie(this,Jt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Ft(this)}function Ht(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Wt(t){return this.utcOffset(0,t)}function Yt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ft(this),"m")),this}function Gt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Bt(this._i)),this}function Ut(t){return t=t?Et(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Vt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function qt(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(p(t,this),t=Ct(t),t._a){var e=t._isUTC?h(t._a):Et(t._a);this._isDSTShifted=this.isValid()&&y(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Xt(){return!this._isUTC}function Zt(){return this._isUTC}function Kt(){return this._isUTC&&0===this._offset}function Jt(t,e){var i,o,n,s=t,a=null;return At(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=Do.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:g(a[ho])*i,h:g(a[lo])*i,m:g(a[uo])*i,s:g(a[co])*i,ms:g(a[po])*i}):(a=Co.exec(t))?(i="-"===a[1]?-1:1,s={y:Qt(a[2],i),M:Qt(a[3],i),d:Qt(a[4],i),h:Qt(a[5],i),m:Qt(a[6],i),s:Qt(a[7],i),w:Qt(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=te(Et(s.from),Et(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Nt(s),At(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function Qt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function $t(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function te(t,e){var i;return e=Rt(e,t),t.isBefore(e)?i=$t(t,e):(i=$t(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function ee(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(it(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Jt(i,o),ie(this,n,t),this}}function ie(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&P(t,"Date",E(t,"Date")+r*o),a&&K(t,E(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function oe(t,e){var i=t||Et(),o=Rt(i,this).startOf("day"),n=this.diff(o,"days",!0),s=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse";return this.format(e&&e[s]||this.localeData().calendar(s,this,Et(i)))}function ne(){return new f(this)}function se(t,e){var i;return e=C("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Et(t),+this>+t):(i=m(t)?+t:+Et(t),i<+this.clone().startOf(e))}function re(t,e){var i;return e=C("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Et(t),+t>+this):(i=m(t)?+t:+Et(t),+this.clone().endOf(e)e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function ue(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ce(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Et([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function We(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Be(t,this.localeData()),this.add(t-e,"d")):e}function Ye(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Ge(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Ue(t,e){N(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Ve(t,e){return e._meridiemParse}function qe(t){return"p"===(t+"").toLowerCase().charAt(0)}function Xe(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Ze(t,e){e[po]=g(1e3*("0."+t))}function Ke(){return this._isUTC?"UTC":""}function Je(){return this._isUTC?"Coordinated Universal Time":""}function Qe(t){return Et(1e3*t)}function $e(){return Et.apply(null,arguments).parseZone()}function ti(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function ei(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function ii(){return this._invalidDate}function oi(t){return this._ordinal.replace("%d",t)}function ni(t){return t}function si(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function ri(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ai(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function hi(t,e,i,o){var n=M(),s=h().set(o,e);return n[i](s,t)}function di(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return hi(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=hi(t,s,i,n);return r}function li(t,e){return di(t,e,"months",12,"month")}function ui(t,e){return di(t,e,"monthsShort",12,"month")}function ci(t,e){return di(t,e,"weekdays",7,"day")}function pi(t,e){return di(t,e,"weekdaysShort",7,"day")}function fi(t,e){return di(t,e,"weekdaysMin",7,"day")}function mi(){var t=this._data;return this._milliseconds=Ko(this._milliseconds),this._days=Ko(this._days),this._months=Ko(this._months),t.milliseconds=Ko(t.milliseconds),t.seconds=Ko(t.seconds),t.minutes=Ko(t.minutes),t.hours=Ko(t.hours),t.months=Ko(t.months),t.years=Ko(t.years),this}function vi(t,e,i,o){var n=Jt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function gi(t,e){return vi(this,t,e,1)}function yi(t,e){return vi(this,t,e,-1)}function bi(t){return 0>t?Math.floor(t):Math.ceil(t)}function wi(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||0>=s&&0>=r&&0>=a||(s+=864e5*bi(xi(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=v(s/1e3),h.seconds=t%60,e=v(t/60),h.minutes=e%60,i=v(e/60),h.hours=i%24,r+=v(i/24),n=v(_i(r)),a+=n,r-=bi(xi(n)),o=v(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function _i(t){return 4800*t/146097}function xi(t){return 146097*t/4800}function ki(t){var e,i,o=this._milliseconds;if(t=C(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+_i(e),"month"===t?i:i/12;switch(e=this._days+Math.round(xi(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function Oi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12)}function Mi(t){return function(){return this.as(t)}}function Di(t){return t=C(t),this[t+"s"]()}function Ci(t){return function(){return this._data[t]}}function Ti(){return v(this.days()/7)}function Si(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Ei(t,e,i){var o=Jt(t).abs(),n=pn(o.as("s")),s=pn(o.as("m")),r=pn(o.as("h")),a=pn(o.as("d")),h=pn(o.as("M")),d=pn(o.as("y")),l=n0,l[4]=i,Si.apply(null,l)}function Pi(t,e){return void 0===fn[t]?!1:void 0===e?fn[t]:(fn[t]=e,!0)}function Ii(t){var e=this.localeData(),i=Ei(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function zi(){var t,e,i,o=mn(this._milliseconds)/1e3,n=mn(this._days),s=mn(this._months);t=v(o/60),e=v(t/60),o%=60,t%=60,i=v(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(0>c?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var Ni,Ai,Li=e.momentProperties=[],Bi=!1,Ri={},Fi={},ji=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Hi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Wi={},Yi={},Gi=/\d/,Ui=/\d\d/,Vi=/\d{3}/,qi=/\d{4}/,Xi=/[+-]?\d{6}/,Zi=/\d\d?/,Ki=/\d{1,3}/,Ji=/\d{1,4}/,Qi=/[+-]?\d{1,6}/,$i=/\d+/,to=/[+-]?\d+/,eo=/Z|[+-]\d\d:?\d\d/gi,io=/[+-]?\d+(\.\d{1,3})?/,oo=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,no={},so={},ro=0,ao=1,ho=2,lo=3,uo=4,co=5,po=6; +N("M",["MM",2],"Mo",function(){return this.month()+1}),N("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),N("MMMM",0,0,function(t){return this.localeData().months(this,t)}),D("month","M"),j("M",Zi),j("MM",Zi,Ui),j("MMM",oo),j("MMMM",oo),Y(["M","MM"],function(t,e){e[ao]=g(t)-1}),Y(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[ao]=n:l(i).invalidMonth=t});var fo="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),mo="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),vo={};e.suppressDeprecationWarnings=!1;var go=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,yo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],bo=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],wo=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=et("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),N(0,["YY",2],0,function(){return this.year()%100}),N(0,["YYYY",4],0,"year"),N(0,["YYYYY",5],0,"year"),N(0,["YYYYYY",6,!0],0,"year"),D("year","y"),j("Y",to),j("YY",Zi,Ui),j("YYYY",Ji,qi),j("YYYYY",Qi,Xi),j("YYYYYY",Qi,Xi),Y(["YYYYY","YYYYYY"],ro),Y("YYYY",function(t,i){i[ro]=2===t.length?e.parseTwoDigitYear(t):g(t)}),Y("YY",function(t,i){i[ro]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return g(t)+(g(t)>68?1900:2e3)};var _o=S("FullYear",!1);N("w",["ww",2],"wo","week"),N("W",["WW",2],"Wo","isoWeek"),D("week","w"),D("isoWeek","W"),j("w",Zi),j("ww",Zi,Ui),j("W",Zi),j("WW",Zi,Ui),G(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=g(t)});var xo={dow:0,doy:6};N("DDD",["DDDD",3],"DDDo","dayOfYear"),D("dayOfYear","DDD"),j("DDD",Ki),j("DDDD",Vi),Y(["DDD","DDDD"],function(t,e,i){i._dayOfYear=g(t)}),e.ISO_8601=function(){};var ko=et("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Et.apply(null,arguments);return this>t?this:t}),Oo=et("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Et.apply(null,arguments);return t>this?this:t});Lt("Z",":"),Lt("ZZ",""),j("Z",eo),j("ZZ",eo),Y(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Bt(t)});var Mo=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Do=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Co=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Jt.fn=Nt.prototype;var To=ee(1,"add"),So=ee(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Eo=et("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});N(0,["gg",2],0,function(){return this.weekYear()%100}),N(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ee("gggg","weekYear"),Ee("ggggg","weekYear"),Ee("GGGG","isoWeekYear"),Ee("GGGGG","isoWeekYear"),D("weekYear","gg"),D("isoWeekYear","GG"),j("G",to),j("g",to),j("GG",Zi,Ui),j("gg",Zi,Ui),j("GGGG",Ji,qi),j("gggg",Ji,qi),j("GGGGG",Qi,Xi),j("ggggg",Qi,Xi),G(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=g(t)}),G(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),N("Q",0,0,"quarter"),D("quarter","Q"),j("Q",Gi),Y("Q",function(t,e){e[ao]=3*(g(t)-1)}),N("D",["DD",2],"Do","date"),D("date","D"),j("D",Zi),j("DD",Zi,Ui),j("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),Y(["D","DD"],ho),Y("Do",function(t,e){e[ho]=g(t.match(Zi)[0],10)});var Po=S("Date",!0);N("d",0,"do","day"),N("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),N("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),N("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),N("e",0,0,"weekday"),N("E",0,0,"isoWeekday"),D("day","d"),D("weekday","e"),D("isoWeekday","E"),j("d",Zi),j("e",Zi),j("E",Zi),j("dd",oo),j("ddd",oo),j("dddd",oo),G(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:l(i).invalidWeekday=t}),G(["d","e","E"],function(t,e,i,o){e[o]=g(t)});var Io="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),zo="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),No="Su_Mo_Tu_We_Th_Fr_Sa".split("_");N("H",["HH",2],0,"hour"),N("h",["hh",2],0,function(){return this.hours()%12||12}),Ue("a",!0),Ue("A",!1),D("hour","h"),j("a",Ve),j("A",Ve),j("H",Zi),j("h",Zi),j("HH",Zi,Ui),j("hh",Zi,Ui),Y(["H","HH"],lo),Y(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),Y(["h","hh"],function(t,e,i){e[lo]=g(t),l(i).bigHour=!0});var Ao=/[ap]\.?m?\.?/i,Lo=S("Hours",!0);N("m",["mm",2],0,"minute"),D("minute","m"),j("m",Zi),j("mm",Zi,Ui),Y(["m","mm"],uo);var Bo=S("Minutes",!1);N("s",["ss",2],0,"second"),D("second","s"),j("s",Zi),j("ss",Zi,Ui),Y(["s","ss"],co);var Ro=S("Seconds",!1);N("S",0,0,function(){return~~(this.millisecond()/100)}),N(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),N(0,["SSS",3],0,"millisecond"),N(0,["SSSS",4],0,function(){return 10*this.millisecond()}),N(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),N(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),N(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),N(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),N(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),D("millisecond","ms"),j("S",Ki,Gi),j("SS",Ki,Ui),j("SSS",Ki,Vi);var Fo;for(Fo="SSSS";Fo.length<=9;Fo+="S")j(Fo,$i);for(Fo="S";Fo.length<=9;Fo+="S")Y(Fo,Ze);var jo=S("Milliseconds",!1);N("z",0,0,"zoneAbbr"),N("zz",0,0,"zoneName");var Ho=f.prototype;Ho.add=To,Ho.calendar=oe,Ho.clone=ne,Ho.diff=de,Ho.endOf=_e,Ho.format=pe,Ho.from=fe,Ho.fromNow=me,Ho.to=ve,Ho.toNow=ge,Ho.get=I,Ho.invalidAt=Se,Ho.isAfter=se,Ho.isBefore=re,Ho.isBetween=ae,Ho.isSame=he,Ho.isValid=Ce,Ho.lang=Eo,Ho.locale=ye,Ho.localeData=be,Ho.max=Oo,Ho.min=ko,Ho.parsingFlags=Te,Ho.set=I,Ho.startOf=we,Ho.subtract=So,Ho.toArray=Me,Ho.toObject=De,Ho.toDate=Oe,Ho.toISOString=ce,Ho.toJSON=ce,Ho.toString=ue,Ho.unix=ke,Ho.valueOf=xe,Ho.year=_o,Ho.isLeapYear=dt,Ho.weekYear=Ie,Ho.isoWeekYear=ze,Ho.quarter=Ho.quarters=Le,Ho.month=J,Ho.daysInMonth=Q,Ho.week=Ho.weeks=ft,Ho.isoWeek=Ho.isoWeeks=mt,Ho.weeksInYear=Ae,Ho.isoWeeksInYear=Ne,Ho.date=Po,Ho.day=Ho.days=We,Ho.weekday=Ye,Ho.isoWeekday=Ge,Ho.dayOfYear=gt,Ho.hour=Ho.hours=Lo,Ho.minute=Ho.minutes=Bo,Ho.second=Ho.seconds=Ro,Ho.millisecond=Ho.milliseconds=jo,Ho.utcOffset=jt,Ho.utc=Wt,Ho.local=Yt,Ho.parseZone=Gt,Ho.hasAlignedHourOffset=Ut,Ho.isDST=Vt,Ho.isDSTShifted=qt,Ho.isLocal=Xt,Ho.isUtcOffset=Zt,Ho.isUtc=Kt,Ho.isUTC=Kt,Ho.zoneAbbr=Ke,Ho.zoneName=Je,Ho.dates=et("dates accessor is deprecated. Use date instead.",Po),Ho.months=et("months accessor is deprecated. Use month instead",J),Ho.years=et("years accessor is deprecated. Use year instead",_o),Ho.zone=et("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ht);var Wo=Ho,Yo={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Go={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Uo="Invalid date",Vo="%d",qo=/\d{1,2}/,Xo={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Zo=b.prototype;Zo._calendar=Yo,Zo.calendar=ti,Zo._longDateFormat=Go,Zo.longDateFormat=ei,Zo._invalidDate=Uo,Zo.invalidDate=ii,Zo._ordinal=Vo,Zo.ordinal=oi,Zo._ordinalParse=qo,Zo.preparse=ni,Zo.postformat=ni,Zo._relativeTime=Xo,Zo.relativeTime=si,Zo.pastFuture=ri,Zo.set=ai,Zo.months=q,Zo._months=fo,Zo.monthsShort=X,Zo._monthsShort=mo,Zo.monthsParse=Z,Zo.week=ut,Zo._week=xo,Zo.firstDayOfYear=pt,Zo.firstDayOfWeek=ct,Zo.weekdays=Re,Zo._weekdays=Io,Zo.weekdaysMin=je,Zo._weekdaysMin=No,Zo.weekdaysShort=Fe,Zo._weekdaysShort=zo,Zo.weekdaysParse=He,Zo.isPM=qe,Zo._meridiemParse=Ao,Zo.meridiem=Xe,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===g(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=et("moment.lang is deprecated. Use moment.locale instead.",k),e.langData=et("moment.langData is deprecated. Use moment.localeData instead.",M);var Ko=Math.abs,Jo=Mi("ms"),Qo=Mi("s"),$o=Mi("m"),tn=Mi("h"),en=Mi("d"),on=Mi("w"),nn=Mi("M"),sn=Mi("y"),rn=Ci("milliseconds"),an=Ci("seconds"),hn=Ci("minutes"),dn=Ci("hours"),ln=Ci("days"),un=Ci("months"),cn=Ci("years"),pn=Math.round,fn={s:45,m:45,h:22,d:26,M:11},mn=Math.abs,vn=Nt.prototype;vn.abs=mi,vn.add=gi,vn.subtract=yi,vn.as=ki,vn.asMilliseconds=Jo,vn.asSeconds=Qo,vn.asMinutes=$o,vn.asHours=tn,vn.asDays=en,vn.asWeeks=on,vn.asMonths=nn,vn.asYears=sn,vn.valueOf=Oi,vn._bubble=wi,vn.get=Di,vn.milliseconds=rn,vn.seconds=an,vn.minutes=hn,vn.hours=dn,vn.days=ln,vn.weeks=Ti,vn.months=un,vn.years=cn,vn.humanize=Ii,vn.toISOString=zi,vn.toString=zi,vn.toJSON=zi,vn.locale=ye,vn.localeData=be,vn.toIsoString=et("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",zi),vn.lang=Eo,N("X",0,0,"unix"),N("x",0,0,"valueOf"),j("x",to),j("X",io),Y("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),Y("x",function(t,e,i){i._d=new Date(g(t))}),e.version="2.10.5",i(Et),e.fn=Wo,e.min=It,e.max=zt,e.utc=h,e.unix=Qe,e.months=li,e.isDate=n,e.locale=k,e.invalid=c,e.duration=Jt,e.isMoment=m,e.weekdays=ci,e.parseZone=$e,e.localeData=M,e.isDuration=At,e.monthsShort=ui,e.weekdaysMin=fi,e.defineLocale=O,e.weekdaysShort=pi,e.normalizeUnits=C,e.relativeTimeThreshold=Pi;var gn=e;return gn})}).call(e,i(10)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=11},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>n&&(e[o+n++]=u[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;6>p;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.style&&a.setAttributeNS(null,"style",o.style),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var o=this._options.type[i];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[i]="Date":this._type[i]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(7),s=i(15);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0;ns;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],s=this,r=s._fieldId,a=function(t){var e=t[r];s._data[e]?(e=s._updateItem(t),o.push(e),n.push(t)):(e=s._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),o.length&&this._trigger("update",{items:o,data:n},e),i.concat(o)},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p=o&&o.type||this._options.type,f=o&&o.filter,m=[];if(void 0!=e)d=s._getItem(e,p),f&&!f(d)&&(d=null);else if(void 0!=i)for(u=0,c=i.length;c>u;u++)d=s._getItem(i[u],p),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=s._getItem(l,p),(!f||f(d))&&m.push(d));if(o&&o.order&&void 0==e&&this._sort(m,o.order),o&&o.fields){var v=o.fields;if(void 0!=e)d=this._filterFields(d,v);else for(u=0,c=m.length;c>u;u++)m[u]=this._filterFields(m[u],v)}if("Object"==a){var g={};for(u=0;ue;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&l.push(n[this._fieldId]));else if(h){s=[];for(o in r)r.hasOwnProperty(o)&&s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=r[o],l.push(n[this._fieldId]));return l},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n=e&&e.filter,s=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],o=i[this._fieldId],t(i,o);else for(o in r)r.hasOwnProperty(o)&&(i=this._getItem(o,s),(!n||n(i))&&t(i,o))},o.prototype.map=function(t,e){var i,o=e&&e.filter,n=e&&e.type||this._options.type,s=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!o||o(i))&&s.push(t(i,a)));return e&&e.order&&this._sort(s,e.order),s},o.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var o in t)t.hasOwnProperty(o)&&-1!=e.indexOf(o)&&(i[o]=t[o]);else for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&(i[e[o]]=t[o]);return i},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||r>o)&&(i=s,o=r)}return i},o.prototype.min=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||o>r)&&(i=s,o=r)}return i},o.prototype.distinct=function(t){var e,i=this._data,o=[],s=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(o[e]==d){l=!0;break}l||void 0===d||(o[r]=d,r++)}if(s)for(e=0;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(7),s=i(14);o.prototype.setData=function(t){var e,i,o;if(this._data){this._data.off&&this._data.off("*",this.listener),e=[];for(var n in this._ids)this._ids.hasOwnProperty(n)&&e.push(n);this._ids={},this.length=0,this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,o=e.length;o>i;i++)n=e[i],this._ids[n]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},o=[],n=[],s=0;so;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.camera.setArmRotation(1,.5),this.camera.setArmLength(1.7),this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.axisColor="#4D4D4D",this.gridColor="#D3D3D3",this.dataColor={fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(19),a=i(14),h=i(16),d=i(7),l=i(20),u=i(18),c=i(21),p=i(22),f=i(23),m=i(24);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.axisColor,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.axisColor,u.fillStyle=this.dataColor.fill,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.axisColor,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.axisColor,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.axisColor,v.fillText(k,n.x,n.y));var O=this.zLabel;O.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.axisColor,v.fillText(O,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f=this.frame.canvas,m=f.getContext("2d");if(m.lineJoin="round",m.lineCap="round",!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(p=(t.point.z+e.point.z+i.point.z+n.point.z)/4,d=240*(1-(p-this.zMin)*this.scale.z/this.verticalRatio),u=1,this.showShadow?(c=Math.min(1+x.x/k/2,1),a=this._hsv2rgb(d,u,c),h=a):(c=1,a=this._hsv2rgb(d,u,c),h=this.axisColor)):(a="gray",h=this.axisColor),m.lineWidth=this._getStrokeWidth(t),m.fillStyle=a,m.strokeStyle=h,m.beginPath(),m.moveTo(t.screen.x,t.screen.y),m.lineTo(e.screen.x,e.screen.y),m.lineTo(n.screen.x,n.screen.y),m.lineTo(i.screen.x,i.screen.y),m.closePath(),m.fill(),m.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.dataColor.fill,m=this.dataColor.stroke):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=this._getStrokeWidth(d),i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0){for(t=this.dataPoints[0],o.lineWidth=this._getStrokeWidth(t),o.lineJoin="round",o.lineCap="round",o.strokeStyle=this.dataColor.stroke,o.beginPath(),o.moveTo(t.screen.x,t.screen.y),e=1;e0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=o},function(t,e){function i(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=i},function(t,e){function i(t){return t?o(t):void 0}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var o,n=0;no;++o)i[o].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e){function i(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}i.subtract=function(t,e){var o=new i;return o.x=t.x-e.x,o.y=t.y-e.y,o.z=t.z-e.z,o},i.add=function(t,e){var o=new i;return o.x=t.x+e.x,o.y=t.y+e.y,o.z=t.z+e.z,o},i.avg=function(t,e){return new i((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},i.crossProduct=function(t,e){var o=new i;return o.x=t.y*e.z-t.z*e.y,o.y=t.z*e.x-t.x*e.z,o.z=t.x*e.y-t.y*e.x,o},i.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=i},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(20);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){ +return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(16);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e){function i(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}i.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(){this._current=this._start-this._start%this._step},i.prototype.next=function(){this._current+=this._step},i.prototype.end=function(){return this._current>this._end},t.exports=i},function(t,e,i){function o(t,e,i,d){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof r||i instanceof a)&&i instanceof Object){var c=d;d=i,i=c}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:n,width:null,height:null,maxHeight:null,minHeight:null},this.options=s.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new h(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new l(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new u(this.body),this.components.push(this.currentTime),this.itemSet=new p(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},d&&this.setOptions(d),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(19),i(3),i(8)),s=i(7),r=i(14),a=i(16),h=i(26),d=i(30),l=i(39),u=i(44),c=i(42),p=i(31),f=i(45),m=i(47)["default"],v=i(47).printStyle,g=i(48).allOptions,y=i(48).configureOptions;o.prototype=new d,o.prototype._createConfigurator=function(){return new f(this,this.dom.container,y)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){var e=m.validate(t,g);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",v),d.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;if(i){var o=this.getSelection();this.setItems(null),this.setItems(i),this.setSelection(o)}}},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof r||t instanceof a?t:new r(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this.getItemRange();var n=void 0!=this.options.start?this.options.start:o.min,s=void 0!=this.options.end?this.options.end:o.max;this.setWindow(n,s,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof r||t instanceof a?t:new r(t):null,this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.fit=function(t){var e=t&&void 0!==t.animation?t.animation:!0,i=this.getItemRange();this.range.setRange(i.min,i.max,e)},o.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=e.min,o=e.max,n=null,r=null;if(null!=i&&null!=o){var a,h,d,l,u;!function(){var e=function(t){return s.convert(t.data.start,"Date").valueOf()},c=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return s.convert(e,"Date").valueOf()};a=o-i,0>=a&&(a=10),h=a/t.props.center.width,s.forEach(t.itemSet.items,function(t){t.show();var s=e(t),a=c(t),d=new Date(s-(t.getWidthLeft()+10)*h),l=new Date(a+(t.getWidthRight()+10)*h);i>d&&(i=d,n=t),l>o&&(o=l,r=t)}.bind(t)),n&&r&&(d=n.getWidthLeft()+10,l=r.getWidthRight()+10,u=t.props.center.width-d-l,u>0&&(i=e(n)-d*a/u,o=c(r)+l*a/u))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=s.convert(i.start,"Date").valueOf(),n=s.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||t>o)&&(t=o),(null===e||n>e)&&(e=o)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-s.getAbsoluteLeft(this.dom.centerContainer),n=i-s.getAbsoluteTop(this.dom.centerContainer),r=this.itemSet.itemFromTarget(t),a=this.itemSet.groupFromTarget(t),h=c.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),f=d?d(p,l,u):p,m=s.getTarget(t),v=null;return null!=r?v="item":null!=h?v="custom-time":s.hasParent(m,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&s.hasParent(m,this.timeAxis2.dom.foreground)?v="axis":s.hasParent(m,this.itemSet.dom.labelSet)?v="group-label":s.hasParent(m,this.currentTime.bar)?v="current-time":s.hasParent(m,this.dom.center)&&(v="background"),{event:t,item:r?r.id:null,group:a?a.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:f}},t.exports=o},function(t,e,i){function o(t,e){var i=a().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,moment:a,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function s(t,e){return{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}}var r=i(7),a=(i(27),i(8)),h=i(28),d=i(29);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,s=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,l=this.end,u="object"==typeof i&&"duration"in i?i.duration:500,c="object"==typeof i&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",p=r.easingFunctions[c];if(!p)throw new Error("Unknown easing function "+JSON.stringify(c)+". Choose from: "+Object.keys(r.easingFunctions).join(", "));var f=(new Date).valueOf(),m=!1,v=function b(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-f,i=p(e/u),r=e>u,c=r||null===n?n:h+(n-h)*i,v=r||null===s?s:l+(s-l)*i;g=a._applyRange(c,v),d.updateHiddenDates(a.options.moment,a.body,a.options.hiddenDates),m=m||g,g&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),r?m&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animationTimer=setTimeout(b,20)}};return v()}var g=this._applyRange(n,s);if(d.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),g){var y={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",y),this.body.emitter.emit("rangechanged",y)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.prototype._onDragEnd=function(t){this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&(!this.options.zoomKey||t[this.options.zoomKey])){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.options.moment,this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX,i=e-r.getAbsoluteLeft(this.body.dom.centerContainer),o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){i(3);e.onTouch=function(t,e){e.inputHandler=function(t){t.isFirst&&!o&&(e(t),o=!0,setTimeout(function(){o=!1},0))},t.on("hammer.input",e.inputHandler)};var o=!1;e.onRelease=function(t,e){return e.inputHandler=function(t){t.isFinal&&!n&&(e(t),n=!0,setTimeout(function(){n=!1},0))},t.on("hammer.input",e.inputHandler)};var n=!1;e.offTouch=function(t,e){t.off("hammer.input",e.inputHandler)},e.offRelease=e.offTouch},function(t,e){function i(t,e){this.options=null,this.props=null}i.prototype.setOptions=function(t){t&&util.extend(this.options,t)},i.prototype.redraw=function(){return!1},i.prototype.destroy=function(){},i.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=i},function(t,e){e.convertHiddenOptions=function(t,e,i){if(e.hiddenDates=[],i&&1==Array.isArray(i)){for(var o=0;o=4*a){var c=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;p>d;)switch(i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),o[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}i.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(i);var v=e.isHidden(i.range.start,i.hiddenDates),g=e.isHidden(i.range.end,i.hiddenDates),y=i.range.start,b=i.range.end;1==v.hidden&&(y=1==i.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==i.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&i.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){o=!0;break}}if(1==o&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n=i(19),s=i(3),r=i(27),a=i(7),h=(i(14),i(16),i(26),i(31),i(39)),d=i(40),l=i(29),u=i(42);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight), +this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:30}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof t.orientation&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&l.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=a.deepExtend({},this.options);this.components.forEach(function(t){a.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.getEventProperties=function(t){return{event:t}},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?a.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,a.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this.redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(o,n,s)}},o.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation.item,r=!1,a=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset",r=this._orderGroups()||r;var h=e.end-e.start,d=h!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;d&&(this.stackDirty=!0),this.lastVisibleInterval=h,this.props.lastWidth=this.props.width;var l=this.stackDirty,u=this._firstGroup(),c={item:t.item,axis:t.axis},p={item:t.item,axis:t.item.vertical/2},f=0,m=t.axis+t.item.vertical;return this.groups[g].redraw(e,p,l),s.forEach(this.groups,function(t){var i=t==u?c:p,o=t.redraw(e,i,l);r=o||r,f+=t.height}),f=Math.max(f,m),this.stackDirty=!1,a.style.height=i(f),this.props.width=a.offsetWidth,this.props.height=f,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(t.stopPropagation(),o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){i.push(e.id);var s=o._getItemRange(this.itemsData.get(i,this.itemOptions));i=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=s.min&&d<=s.max&&!(a instanceof m)&&i.push(a.id)}}else{var l=i.indexOf(e.id);-1==l?i.push(e.id):i.splice(l,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},o._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&ec;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var o=this;if(i.length>0){var s=i[0].top,r=i[0].top+i[0].height;if(n.forEach(i,function(t){s=Math.min(s,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(o.subgroups[t.data.subgroup].height=Math.max(o.subgroups[t.data.subgroup].height,t.height),o.subgroups[t.data.subgroup].visible=!0)}),s>t.axis){var a=s-t.axis;r-=a,n.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-o.vertical+ie.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(3),i(2));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t,e,i,s){this.moment=n,this.current=this.moment(),this._start=this.moment(),this._end=this.moment(),this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=s,void 0===s&&(this.hiddenDates=[]),this.format=o.FORMAT}var n=i(8),s=i(29),r=i(7);o.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},o.prototype.setMoment=function(t){this.moment=t,this.current=this.moment(this.current),this._start=this.moment(this._start),this._end=this.moment(this._end)},o.prototype.setFormat=function(t){var e=r.deepExtend({},o.FORMAT);this.format=r.deepExtend(e,t)},o.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?this.moment(t.valueOf()):new Date,this._end=void 0!=e?this.moment(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},o.prototype.start=function(){this.current=this._start.clone(),this.roundToMinor()},o.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.year(this.step*Math.floor(this.current.year()/this.step)),this.current.month(0);case"month":this.current.date(1);case"day":case"weekday":this.current.hours(0);case"hour":this.current.minutes(0);case"minute":this.current.seconds(0);case"second":this.current.milliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.subtract(this.current.milliseconds()%this.step,"milliseconds");break;case"second":this.current.subtract(this.current.seconds()%this.step,"seconds");break;case"minute":this.current.subtract(this.current.minutes()%this.step,"minutes");break;case"hour":this.current.subtract(this.current.hours()%this.step,"hours");break;case"weekday":case"day":this.current.subtract((this.current.date()-1)%this.step,"day");break;case"month":this.current.subtract(this.current.month()%this.step,"month");break;case"year":this.current.subtract(this.current.year()%this.step,"year")}},o.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},o.prototype.next=function(){var t=this.current.valueOf();if(this.current.month()<6)switch(this.scale){case"millisecond":this.current.add(this.step,"millisecond");break;case"second":this.current.add(this.step,"second");break;case"minute":this.current.add(this.step,"minute");break;case"hour":this.current.add(this.step,"hour"),this.current.subtract(this.current.hours()%this.step,"hour");break;case"weekday":case"day":this.current.add(this.step,"day");break;case"month":this.current.add(this.step,"month");break;case"year":this.current.add(this.step,"year")}else switch(this.scale){case"millisecond":this.current.add(this.step,"millisecond");break;case"second":this.current.add(this.step,"second");break;case"minute":this.current.add(this.step,"minute");break;case"hour":this.current.add(this.step,"hour");break;case"weekday":case"day":this.current.add(this.step,"day");break;case"month":this.current.add(this.step,"month");break;case"year":this.current.add(this.step,"year")}if(1!=this.step)switch(this.scale){case"millisecond":this.current.milliseconds()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.mlliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+u+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"vis-year"+c+n(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){n.call(this,t,e,i),this.width=0,this.height=0,this.top=0,this.left=0}var n=(i(7),i(32));o.prototype=Object.create(n.prototype),o.prototype.redraw=function(t,e,i){var o=!1;this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.width=this.dom.background.offsetWidth,this.dom.background.style.height="0";for(var n=0,s=this.visibleItems.length;s>n;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(2);i(7);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,format:r.FORMAT,moment:h,timeAxis:null},this.options=n.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n=i(7),s=i(28),r=i(35),a=i(29),h=i(8);o.prototype=new s,o.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showMinorLabels","showMajorLabels","hiddenDates","timeAxis","moment"],this.options,t),n.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"==typeof t.orientation&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof h.locale?h.locale(t.locale):h.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=n.convert(this.body.range.start,"Number"),i=n.convert(this.body.range.end,"Number"),o=this.body.util.toTime(7*(this.props.minorCharWidth||10)).valueOf(),s=o-a.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);s-=this.body.util.toTime(0).valueOf();var h=new r(new Date(e),new Date(i),s,this.body.hiddenDates);h.setMoment(this.options.moment),this.options.format&&h.setFormat(this.options.format),this.options.timeAxis&&h.setScale(this.options.timeAxis),this.step=h;var d=this.dom;d.redundant.lines=d.lines,d.redundant.majorTexts=d.majorTexts,d.redundant.minorTexts=d.minorTexts,d.lines=[],d.majorTexts=[],d.minorTexts=[];var l,u,c,p,f,m,v,g,y,b=void 0,w=0;for(h.start(),u=h.getCurrent(),p=this.body.util.toScreen(u);h.hasNext()&&1e3>w;){w++,f=h.isMajor(),y=h.getClassName(),g=h.getLabelMinor(),l=u,c=p,h.next(),u=h.getCurrent(),p=this.body.util.toScreen(u),m=p-c;var _=(g.length+1)*this.props.minorCharWidth0&&(void 0==b&&(b=c),this._repaintMajorText(c,h.getLabelMajor(),t,y)),v=this._repaintMajorLine(c,m,t,y)):_?v=this._repaintMinorLine(c,m,t,y):v&&(v.style.width=parseInt(v.style.width)+m+"px")}if(this.options.showMajorLabels){var x=this.body.util.toTime(0),k=h.getLabelMajor(x),O=k.length*(this.props.majorCharWidth||10)+10;(void 0==b||b>O)&&this._repaintMajorText(0,k,t,y)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n); +}return this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px",n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top=s.majorLabelHeight+"px":n.style.top=this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",n.style.left=t-s.minorLineWidth/2+"px",n.style.width=e+"px",n.className="vis-grid vis-vertical vis-minor "+o,n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return"top"==i?n.style.top="0":n.style.top=this.body.domProps.top.height+"px",n.style.left=t-s.majorLineWidth/2+"px",n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n.className="vis-grid vis-vertical vis-major "+o,n},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(41),r=i(19),a=i(3),h=i(7);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;no&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-network-configuration button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-network-configuration button hover"},e.onmouseout=function(){e.className="vis-network-configuration button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-network-configuration vis-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push(),this.colorPicker.insertTo(this.container)}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-network-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),s=1;o>s;s++)n[s-1]=e[s];n.forEach(function(t){r.appendChild(t)}),i.domElements.push(r)}()}}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-network-configuration header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-network-configuration label s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-network-configuration select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;se&&n>2*e?a.min=2*e:n>.1*e&&(a.min=e/10),2*e>s&&1!==s&&(a.max=2*e),a.value=e):a.value=o;var d=document.createElement("input");d.className="vis-network-configuration rangeinput",d.value=a.value;var l=this;a.onchange=function(){d.value=this.value,l._update(Number(this.value),i)},a.oninput=function(){d.value=this.value};var u=this._makeLabel(i[i.length-1],i);this._makeItem(i,u,a,d)}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-network-configuration checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeTextInput",value:function(t,e,i){var o=document.createElement("input");o.type="text",o.className="vis-network-configuration text",o.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var n=this;o.onchange=function(){n._update(this.value,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],s=document.createElement("div");e=void 0===e?n:e,"none"!==e?(s.className="vis-network-configuration colorBlock",s.style.backgroundColor=e):s.className="vis-network-configuration colorBlock none",e=void 0===e?n:e,s.onclick=function(){o._showColorPicker(e,s,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,s)}},{key:"_showColorPicker",value:function(t,e,i){var o=this,n=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),r=n.left+n.width+5,a=n.top-s.top+.5*n.height;this.colorPicker.show(r,a),this.colorPicker.setColor(t),this.colorPicker.setCallback(function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})}},{key:"_handleObject",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?[]:arguments[1],i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],d=h.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,d,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var l=this._getValue(d);if(a instanceof Array)this._handleArray(a,l,d);else if("string"==typeof a)this._makeTextInput(a,l,d);else if("boolean"==typeof a)this._makeCheckbox(a,l,d);else if(a instanceof Object){var u=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(u=!1),u===!0)if(void 0!==a.enabled){var c=h.copyAndExtendArray(d,"enabled"),p=this._getValue(c);if(p===!0){var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}else this._makeCheckbox(a,p,d)}else{var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}}else console.error("dont know how to handle",a,r,d)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],o=i;t="true"===t?!0:t,t="false"===t?!1:t;for(var n=0;nvar options = "+JSON.stringify(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;es;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),h):n.distance<=d?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),h):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),h),r=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3],r=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var u in i){var c=void 0;if(void 0!==i[u].__type__&&n===!0){var p=t.findInOptions(e,i[u],s.copyAndExtendArray(o,u));r>p.distance&&(a=p.closestMatch,h=p.path,r=p.distance,l=p.indexMatch)}else-1!==u.toLowerCase().indexOf(d)&&(l=u),c=t.levenshteinDistance(e,u),r>c&&(a=u,h=s.copyArray(o),r=c)}return{closestMatch:a,path:h,distance:r,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length<=2||void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-s.getAbsoluteLeft(this.dom.centerContainer),n=i-s.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=c.customTimeFromTarget(t),h=s.getTarget(t),d=null;s.hasParent(h,this.timeAxis.dom.foreground)?d="axis":this.timeAxis2&&s.hasParent(h,this.timeAxis2.dom.foreground)?d="axis":s.hasParent(h,this.linegraph.yAxisLeft.dom.frame)?d="data-axis":s.hasParent(h,this.linegraph.yAxisRight.dom.frame)?d="data-axis":s.hasParent(h,this.linegraph.legendLeft.dom.frame)?d="legend":s.hasParent(h,this.linegraph.legendRight.dom.frame)?d="legend":null!=a?d="custom-time":s.hasParent(h,this.currentTime.bar)?d="current-time":s.hasParent(h,this.dom.center)&&(d="background");var l=[],u=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return u.hidden||l.push(u.screenToValue(n)),p.hidden||l.push(p.screenToValue(n)),{event:t,what:d,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:r,value:l}},o.prototype._createConfigurator=function(){return new f(this,this.dom.container,y)},t.exports=o},function(t,e,i){function o(t,e){this.id=n.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=n.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=n.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var n=i(7),s=i(13),r=i(14),a=i(16),h=i(28),d=i(51),l=i(53),u=i(57),c=i(56),p=(i(54),"__ungrouped__");o.prototype=new h,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),u={};for(this._getRelevantData(a,u,d,l),this._applySampling(a,u),e=0;ep&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;ro){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=s)d.push(n[l]);e[t[o]]=d}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getData(o)):h=h.concat(n.getData(o)):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;ut?-1:1});for(var a=0;a0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(this.groups[i].visible!==!0||void 0!==this.linegraphOptions.visibility[i]&&this.linegraphOptions.visibility[i]!==!0||e++);if(0===this.amountOfGroups||0===e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=this.options.visible===!0?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"===s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,this.options.icons===!0?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e,i=this.options.orientation;if(this.master===!1){var o,n,r,h;-1!==this.zeroCrossing&&this.options.alignZeros===!0?this.range.end>0?(o=this.range.end/this.zeroCrossing,n=this.range.end-this.amountOfSteps*o,r=this.range.end):(o=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing),n=this.range.start,r=this.range.start+o*this.amountOfSteps):(n=this.range.start,r=this.range.end),h=this.stepPixels}else h=this.props.majorCharHeight,n=this.range.start,r=this.range.end;if(this.step=e=new a(n,r,h,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===!1&&this.options.alignZeros),this.master===!0)this.stepPixels=this.dom.frame.offsetHeight/e.marginRange*e.step,this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels);else if(this.options.alignZeros===!0&&-1!==this.zeroCrossing){var d=(e.current-this.zeroCrossing*e.step)/e.step;this.step.shift(d)}this.valueAtBottom=e.marginEnd,this.maxLabelSize=0;for(var l=0,u=0,c=!1;u0&&u!==this.amountOfSteps&&((this.options.showMinorLabels&&c===!1||this.master===!1&&this.options.showMinorLabels===!0)&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-minor",this.props.minorCharHeight),c&&this.options.showMajorLabels&&this.master===!0||this.options.showMinorLabels===!1&&this.master===!1&&c===!0?(l>=0&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(l,i,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(l,i,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth)),this.master===!0&&0===e.current&&(this.zeroCrossing=u),e.next(),u+=1;this.master===!0&&0===e.current&&(this.zeroCrossing=u),this.conversionFactor=this.stepPixels/e.step;var p=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(p=this.props.titleCharHeight);var f=this.options.icons===!0?Math.max(this.options.iconWidth,p)+this.options.labelOffsetX+15:p+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&this.options.visible===!0?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtBottom-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtBottom-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"===i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizes&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(d===!0)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},i.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.alignZeros===!0&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},i.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*(this.scale*this.minorSteps[this.stepIndex])?e+this.scale*this.minorSteps[this.stepIndex]:e},i.prototype.hasNext=function(){return this.current>=this.marginStart},i.prototype.next=function(){var t=this.current;this.current-=this.step,this.current===t&&(this.current=this._end)},i.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},i.prototype.getCurrent=function(){var t=Math.abs(this.current)t)for(var e=0;-t>e;e++)this.previous();else if(t>0)for(var e=0;t>e;e++)this.next()},t.exports=i},function(t,e,i){function o(t,e,i,o){this.id=e;var s=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation"];this.options=n.selectiveBridgeObject(s,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n=i(7),s=i(13),r=i(54),a=i(56),h=i(55);o.prototype.setItems=function(t){if(null!=t){this.itemsData=t,1==this.options.sort&&this.itemsData.sort(function(t,e){return t.x-e.x});for(var e=0;et[o].y?t[o].y:e,i=i0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o.prototype.draw=function(t,e,i){if(null!=t&&t.length>0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=n.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t),1==e.options.shaded.enabled){var d,l=n.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&s.draw(t,e,i)}},o._catmullRomUniform=function(t){for(var e,i,o,n,s,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={x:(-e.x+6*i.x+o.x)*h,y:(-e.y+6*i.y+o.y)*h},r={x:(i.x+6*o.x-n.x)*h,y:(i.y+6*o.y-n.y)*h},a+="C"+s.x+","+s.y+" "+r.x+","+r.y+" "+o.x+","+o.y+" ";return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",k=t.length,O=0;k-1>O;O++)o=0==O?t[0]:t[O-1],n=t[O],s=t[O+1],r=k>O+2?t[O+2]:s,d=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(n.x-s.x,2)+Math.pow(n.y-s.y,2)),u=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={x:(-b*o.x+c*n.x+w*s.x)*f,y:(-b*o.y+c*n.y+w*s.y)*f},h={x:(y*n.x+p*s.x-b*r.x)*m,y:(y*n.y+p*s.y-b*r.y)*m},0==a.x&&0==a.y&&(a=n),0==h.x&&0==h.y&&(h=s),x+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+s.x+","+s.y+" ";return x},o._linear=function(t){for(var e="",i=0;it[o].y?t[o].y:e,i=it[o].y?t[o].y:e,i=i0&&(r=Math.min(r,Math.abs(c[l-1].x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,d.options.stack===!0?c[l].y0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=nt?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.prepareElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}},{key:"cleanup",value:function(){return this.shape.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=["color","font","fixed","shadow"];if(B.selectiveNotDeepExtend(o,t,e,i),B.mergeOptions(t,e,"shadow"),void 0!==e.color&&null!==e.color){var n=B.parseColor(e.color);B.fillIfDefined(t.color,n)}else i===!0&&null===e.color&&(t.color=void 0,delete t.color);void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&a["default"].parseOptions(t.font,e),void 0!==e.scaling&&B.mergeOptions(t.scaling,e.scaling,"label")}}]),t}();e["default"]=R,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;i=this.options.scaling.label.maxVisible&&(r=Number(this.options.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=n(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=n(p,2);i=f[0],h=f[1],t.font=(e&&this.options.labelHighlightBold?"bold ":"")+r+"px "+this.options.font.face,t.fillStyle=u,t.textAlign="center",this.options.font.strokeWidth>0&&(t.lineWidth=this.options.font.strokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.options.font.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.options.font.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.options.font.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.options.font.color||"#000000",i=this.options.font.strokeColor||"#ffffff";if(t<=this.options.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.options.font.size*this.lineCount, +lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=arguments.length<=3||void 0===arguments[3]?0:arguments[3],n=arguments.length<=4||void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.options.font.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.options.font.size,"hanging"===n&&(this.size.top+=.5*this.options.font.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.options.label){o=String(this.options.label).split("\n"),n=o.length,t.font=(e&&this.options.labelHighlightBold?"bold ":"")+this.options.font.size+"px "+this.options.font.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.save(),this.enableBorderDashes(t),t.stroke(),this.disableBorderDashes(t),t.restore()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o){var n=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+n+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t),t.fillText(this.options.icon.code,e,i),this.disableShadow(t)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this._distanceToBorder(e)}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.width/2,o=this.height/2,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=["id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","selectionWidth","selfReferenceSize","to","title","value","width"];if(v.selectiveDeepExtend(o,t,e,i),v.mergeOptions(t,e,"smooth"),v.mergeOptions(t,e,"shadow"),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=void 0,delete t.dashes),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),v.mergeOptions(t.scaling,e.scaling,"label")):i===!0&&null===e.scaling&&(t.scaling=void 0,delete t.scaling),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var n=e.arrows.toLowerCase();-1!=n.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=n.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=n.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));v.mergeOptions(t.arrows,e.arrows,"to"),v.mergeOptions(t.arrows,e.arrows,"middle"),v.mergeOptions(t.arrows,e.arrows,"from")}else i===!0&&null===e.arrows&&(t.arrows=void 0,delete t.arrows);if(void 0!==e.color&&null!==e.color)if(v.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var s=!1;void 0!==e.color.color&&(t.color.color=e.color.color,s=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,s=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,s=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&s===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=void 0,delete t.color);void 0!==e.font&&a["default"].parseOptions(t.font,e)}}]),t}();e["default"]=g,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(t=this.from.x,e=this.from.yMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=t,f=e;for(d=1;10>d;d++)l=.1*d,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=a>h?h:a),p=u,f=c;return a}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,e===!0?this.color.highlight:i===!0?this.color.hover:this.color.color; +}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,o,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,s,r,a);else{var d=this._getCircleData(),l=n(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"drawArrowHead",value:function(t,e,i,o,s){t.strokeStyle=this.getColor(t,o,s),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(o,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=n(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=function(){function t(t,e){for(var i=0;iMath.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var a=arguments.length<=6||void 0===arguments[6]?this._getViaCoordinates():arguments[6],h=r(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,s,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?this._getViaCoordinates():arguments[1],i=r(e,2),o=i[0],n=i[1],s=t,a=[];a[0]=Math.pow(1-s,3),a[1]=3*s*Math.pow(1-s,2),a[2]=3*Math.pow(s,2)*(1-s),a[3]=Math.pow(s,3);var h=a[0]*this.from.x+a[1]*o.x+a[2]*n.x+a[3]*this.to.x,d=a[0]*this.from.y+a[1]*o.y+a[2]*n.y+a[3]*this.to.y;return{x:h,y:d}}}]),e}(l["default"]);e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;il;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,c,p,n,s),h=h>d?d:h),f=c,m=p;return h}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i1&&(this.startedStabilization=!1),this.stopSimulation())}},{key:"_emitStabilized",value:function(){var t=this;(this.stabilizationIterations>1||this.initialStabilizationEmitted===!1)&&(this.initialStabilizationEmitted=!0,setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:t.stabilizationIterations}),t.stabilizationIterations=0},0))}},{key:"physicsTick",value:function(){this.stabilized===!1&&(this.calculateForces(),this.stabilized=this.moveNodes(),this.stabilized===!0?this.revert():this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilizationIterations++)}},{key:"updatePhysicsData",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)t.hasOwnProperty(i)&&t[i].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(o);for(var n=0;na&&o===!0,t=!0}return t===!0?n>.5*this.options.maxVelocity?!1:o:!0}},{key:"_performStep",value:function(t,e){var i=this.body.nodes[t],o=this.options.timestep,n=this.physicsBody.forces,s=this.physicsBody.velocities;if(this.previousStates[t]={x:i.x,y:i.y,vx:s[t].x,vy:s[t].y},i.options.fixed.x===!1){var r=this.modelOptions.damping*s[t].x,a=(n[t].x-r)/i.options.mass;s[t].x+=a*o,s[t].x=Math.abs(s[t].x)>e?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;o>s;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=n,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=t&&i.push(n.id)}for(var o=0;o0&&Object.keys(s).length>0&&i.push({nodes:n,edges:s})}}}for(var o=0;oo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!0:arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];r[d]={x:l.x,y:l.y}}var u=e.releaseFunction(a,r);for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];void 0!==u[d]&&(l.x=u[d].x||o.x,l.y=u[d].y||o.y)}}else for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];l=n[d],l.x=o.x,l.y=o.y}for(var d in n)if(n.hasOwnProperty(d)){var l=this.body.nodes[d];l.vx=o.vx,l.vy=o.vy,l.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[d]}for(var c in s)if(s.hasOwnProperty(c)){var p=s[c];if(void 0===this.body.nodes[p.fromId]||void 0===this.body.nodes[p.toId]||p.toId==t||p.fromId==t)p.cleanup(),p.disconnect(),delete this.body.edges[c];else if(void 0!==this.clusteredNodes[p.fromId]||void 0!==this.clusteredNodes[p.toId]){var f=void 0,m=void 0,v=this.clusteredNodes[p.fromId]||this.clusteredNodes[p.toId],g=v.clusterId,y=this.body.nodes[g];if(y.containedEdges[c]=p,void 0!==this.clusteredNodes[p.fromId]?(f=g,m=p.toId):(f=p.fromId,m=g),this.body.nodes[f].options.hidden!==!0&&this.body.nodes[m].options.hidden!==!0){var b=this._cloneOptions(p,"edge"),w="clusterEdge:"+h.randomUUID();h.deepExtend(b,y.clusterEdgeProperties),h.deepExtend(b,{from:f,to:m,hidden:!1,physics:!0,id:w});var _=this.body.functions.createEdge(b);this.body.edges[w]=_,this.body.edges[w].connect()}}else p.setOptions({physics:!0,hidden:!1})}for(var x=[],k=0;ko;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e,i){for(var o=!0;o;){var n=t,s=e,r=i;a=d=h=void 0,o=!1,null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,s);if(void 0!==a){if("value"in a)return a.value;var h=a.get;return void 0===h?void 0:h.call(r)}var d=Object.getPrototypeOf(n);if(null===d)return void 0;t=d,e=s,i=r,o=!0}},a=i(62),h=o(a),d=function(t){function e(t,i,o,s,a){n(this,e),r(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,o,s,a),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}return s(e,t),e}(h["default"]);e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;e.clearRect(0,0,i,o),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0)for(var r=0;rt.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),ot.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),o.5*this.body.nodeIndices.length)return void this.fit(i,!1);t=this._getRange(i.nodes);var a=this.body.nodeIndices.length;e=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);e*=h}else{this.body.emitter.emit("_resizeNodes"),t=this._getRange(i.nodes);var d=1.1*Math.abs(t.maxX-t.minX),l=1.1*Math.abs(t.maxY-t.minY),u=this.canvas.frame.canvas.clientWidth/d,c=this.canvas.frame.canvas.clientHeight/l;e=c>=u?u:c}e>1?e=1:0===e&&(e=1);var p=this._findCenter(t),f={position:p,scale:e,animation:i.animation};this.moveTo(f)}},{key:"focus", +value:function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanges,c=l.edgesChanges;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0):0>h-n?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0):h===n&&u===!0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0),a-o>0?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0):a===o&&c===!0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;nt&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale})}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom,this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return void 0}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return void 0}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t}},{key:"_selectionIsEmpty",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptions(e);if(i===!0)return this.body.emitter.emit("refresh"),s.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptions",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof t.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==t.physics.solver&&(this.optionsBackup.physics={solver:t.physics.solver}),t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0===t.edges.smooth.forceDirection?!1:t.edges.smooth.forceDirection}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():("directed"===this.options.hierarchical.sortMethod,this._determineLevelsDirected()));var n=this._getDistribution();this._placeNodesByHierarchy(n)}}},{key:"_placeNodesByHierarchy",value:function(t){var e=void 0,i=void 0;this.positionedNodes={};for(var o in t)if(t.hasOwnProperty(o))for(e in t[o].nodes)t[o].nodes.hasOwnProperty(e)&&(i=t[o].nodes[e],"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===i.x&&(i.x=t[o].distance),t[o].distance=i.x+this.nodeSpacing):(void 0===i.y&&(i.y=t[o].distance),t[o].distance=i.y+this.nodeSpacing),this.positionedNodes[e]=!0,this._placeBranchNodes(i.edges,i.id,t,o))}},{key:"_getDistribution",value:function(){var t={},e=void 0,i=void 0;for(e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){i=this.body.nodes[e];var o=void 0===this.hierarchicalLevels[e]?0:this.hierarchicalLevels[e];"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(i.y=this.options.hierarchical.levelSeparation*o,i.options.fixed.y=!0):(i.x=this.options.hierarchical.levelSeparation*o,i.options.fixed.x=!0),void 0===t[o]&&(t[o]={amount:0,nodes:{},distance:0}),t[o].amount+=1,t[o].nodes[e]=i}return t}},{key:"_getHubSize",value:function(){var t=0;for(var e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){var i=this.body.nodes[e];void 0===this.hierarchicalLevels[e]&&(t=i.edges.length0&&(i=this._getHubSize(),0!==i);)for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],e.edges.length===i&&this._setLevelByHubsize(0,e))}},{key:"_setLevelByHubsize",value:function(t,e){if(void 0===this.hierarchicalLevels[e.id]){var i=void 0;this.hierarchicalLevels[e.id]=t;for(var o=0;oo&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===s.x&&(s.x=Math.max(i[a].distance,r.x)),i[a].distance=s.x+this.nodeSpacing,this.positionedNodes[s.id]=!0):(void 0===s.y&&(s.y=Math.max(i[a].distance,r.y)),i[a].distance=s.y+this.nodeSpacing),this.positionedNodes[s.id]=!0,s.edges.length>1&&this._placeBranchNodes(s.edges,s.id,i,a))}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=s.deepExtend({},e.options,!0);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var t=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var e=t.body.edges[t.edgeBeingEditedId],i=t._getNewTargetNode(e.from.x,e.from.y),o=t._getNewTargetNode(e.to.x,e.to.y);t.temporaryIds.nodes.push(i.id),t.temporaryIds.nodes.push(o.id),t.body.nodes[i.id]=i,t.body.nodeIndices.push(i.id),t.body.nodes[o.id]=o,t.body.nodeIndices.push(o.id),t._temporaryBindUI("onTouch",t._controlNodeTouch.bind(t)),t._temporaryBindUI("onTap",function(){}),t._temporaryBindUI("onHold",function(){}),t._temporaryBindUI("onDragStart",t._controlNodeDragStart.bind(t)),t._temporaryBindUI("onDrag",t._controlNodeDrag.bind(t)),t._temporaryBindUI("onDragEnd",t._controlNodeDragEnd.bind(t)),t._temporaryBindUI("onMouseMove",function(){}),t._temporaryBindEvent("beforeDrawing",function(t){var n=e.edgeType.findBorderPositions(t);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),t.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{"boolean":o},filter:{"boolean":o,string:i,array:s,"function":"function"},container:{dom:a},showButton:{"boolean":o},__type__:{object:r,"boolean":o,string:i,array:s,"function":"function"}},edges:{arrows:{to:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},middle:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},from:{enabled:{"boolean":o},scaleFactor:{number:n},__type__:{object:r,"boolean":o}},__type__:{string:["from","to","middle"],object:r}},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],"boolean":o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{"boolean":o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:r,string:i}},hidden:{"boolean":o},hoverWidth:{"function":"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},length:{number:n,undefined:"undefined"},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function"},__type__:{object:r}},selectionWidth:{"function":"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{"boolean":o},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},smooth:{enabled:{"boolean":o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],"boolean":o},__type__:{object:r,"boolean":o}},title:{string:i,undefined:"undefined"},width:{number:n},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{"boolean":o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{"boolean":o},dragView:{"boolean":o},hideEdgesOnDrag:{"boolean":o},hideNodesOnDrag:{"boolean":o},hover:{"boolean":o},keyboard:{enabled:{"boolean":o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{"boolean":o},__type__:{object:r,"boolean":o}},multiselect:{"boolean":o},navigationButtons:{"boolean":o},selectable:{"boolean":o},selectConnectedEdges:{"boolean":o},hoverConnectedEdges:{"boolean":o},tooltipDelay:{number:n},zoomView:{"boolean":o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},hierarchical:{enabled:{"boolean":o},levelSeparation:{number:n},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,"boolean":o}},__type__:{object:r}},manipulation:{enabled:{"boolean":o},initiallyActive:{"boolean":o},addNode:{"boolean":o,"function":"function"},addEdge:{"boolean":o,"function":"function"},editNode:{"function":"function"},editEdge:{"boolean":o,"function":"function"},deleteNode:{"boolean":o,"function":"function"},deleteEdge:{"boolean":o,"function":"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,"boolean":o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{"boolean":o},y:{"boolean":o},__type__:{object:r,"boolean":o}},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},hidden:{"boolean":o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{"boolean":o},level:{number:n,undefined:"undefined"},mass:{number:n},physics:{"boolean":o},scaling:{min:{number:n},max:{number:n},label:{enabled:{"boolean":o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,"boolean":o}},customScalingFunction:{"function":"function" +},__type__:{object:r}},shadow:{enabled:{"boolean":o},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,"boolean":o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{"boolean":o,array:s},borderRadius:{number:n},useImageSize:{"boolean":o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{"boolean":o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{"boolean":o},fit:{"boolean":o},__type__:{object:r,"boolean":o}},timestep:{number:n},__type__:{object:r,"boolean":o}},autoResize:{"boolean":o},clickToUse:{"boolean":o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};e.allOptions=d,e.configureOptions=l},function(t,e){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e){function i(t){return P=t,p()}function o(){I=0,z=P.charAt(0)}function n(){I++,z=P.charAt(I)}function s(){return P.charAt(I+1)}function r(t){return L.test(t)}function a(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function h(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function d(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=a(n.attr,t.node))),i=s.length-1;i>=0;i--){var h=s[i];h.nodes||(h.nodes=[]),-1===h.nodes.indexOf(n)&&h.nodes.push(n)}e.attr&&(n.attr=a(n.attr,e.attr))}function l(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=a({},t.edge);e.attr=a(i,e.attr)}}function u(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=a({},t.edge)),s.attr=a(s.attr||{},n),s}function c(){for(A=S.NULL,N="";" "===z||" "===z||"\n"===z||"\r"===z;)n();do{var t=!1;if("#"===z){for(var e=I-1;" "===P.charAt(e)||" "===P.charAt(e);)e--;if("\n"===P.charAt(e)||""===P.charAt(e)){for(;""!=z&&"\n"!=z;)n();t=!0}}if("/"===z&&"/"===s()){for(;""!=z&&"\n"!=z;)n();t=!0}if("/"===z&&"*"===s()){for(;""!=z;){if("*"===z&&"/"===s()){n(),n();break}n()}t=!0}for(;" "===z||" "===z||"\n"===z||"\r"===z;)n()}while(t);if(""===z)return void(A=S.DELIMITER);var i=z+s();if(E[i])return A=S.DELIMITER,N=i,n(),void n();if(E[z])return A=S.DELIMITER,N=z,void n();if(r(z)||"-"===z){for(N+=z,n();r(z);)N+=z,n();return"false"===N?N=!1:"true"===N?N=!0:isNaN(Number(N))||(N=Number(N)),void(A=S.IDENTIFIER)}if('"'===z){for(n();""!=z&&('"'!=z||'"'===z&&'"'===s());)N+=z,'"'===z&&n(),n();if('"'!=z)throw _('End of string " expected');return n(),void(A=S.IDENTIFIER)}for(A=S.UNKNOWN;""!=z;)N+=z,n();throw new SyntaxError('Syntax error in part "'+x(N,30)+'"')}function p(){var t={};if(o(),c(),"strict"===N&&(t.strict=!0,c()),("graph"===N||"digraph"===N)&&(t.type=N,c()),A===S.IDENTIFIER&&(t.id=N,c()),"{"!=N)throw _("Angle bracket { expected");if(c(),f(t),"}"!=N)throw _("Angle bracket } expected");if(c(),""!==N)throw _("End of file expected");return c(),delete t.node,delete t.edge,delete t.graph,t}function f(t){for(;""!==N&&"}"!=N;)m(t),";"===N&&c()}function m(t){var e=v(t);if(e)return void b(t,e);var i=g(t);if(!i){if(A!=S.IDENTIFIER)throw _("Identifier expected");var o=N;if(c(),"="===N){if(c(),A!=S.IDENTIFIER)throw _("Identifier expected");t[o]=N,c()}else y(t,o)}}function v(t){var e=null;if("subgraph"===N&&(e={},e.type="subgraph",c(),A===S.IDENTIFIER&&(e.id=N,c())),"{"===N){if(c(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,f(e),"}"!=N)throw _("Angle bracket } expected");c(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function g(t){return"node"===N?(c(),t.node=w(),"node"):"edge"===N?(c(),t.edge=w(),"edge"):"graph"===N?(c(),t.graph=w(),"graph"):null}function y(t,e){var i={id:e},o=w();o&&(i.attr=o),d(t,i),b(t,e)}function b(t,e){for(;"->"===N||"--"===N;){var i,o=N;c();var n=v(t);if(n)i=n;else{if(A!=S.IDENTIFIER)throw _("Identifier or subgraph expected");i=N,d(t,{id:i}),c()}var s=w(),r=u(t,e,i,o,s);l(t,r),e=i}}function w(){for(var t=null;"["===N;){for(c(),t={};""!==N&&"]"!=N;){if(A!=S.IDENTIFIER)throw _("Attribute name expected");var e=N;if(c(),"="!=N)throw _("Equal sign = expected");if(c(),A!=S.IDENTIFIER)throw _("Attribute value expected");var i=N;h(t,e,i),c(),","==N&&c()}if("]"!=N)throw _("Bracket ] expected");c()}return t}function _(t){return new SyntaxError(t+', got "'+x(N,30)+'" (char '+I+")")}function x(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function k(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function O(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},P="",I=0,z="",N="",A=S.NULL,L=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;aString 'dynamic' Possible options: 'dynamic', 'continuous', 'discrete', 'diagonalCross', 'straightCross', 'horizontal', - 'vertical', 'curvedCW', 'curvedCCW'. Take a look at our example 26 to see what these look like + 'vertical', 'curvedCW', 'curvedCCW', 'cubicBezier'. Take a look at our example 26 to see what these look like and pick the one that you like best!

When using dynamic, the edges will have an invisible support node guiding the shape. This node is part of the physics simulation. + + smooth.forceDirection + String or Boolean + false + Accepted options: ['horizontal', 'vertical', 'none']. This options is only used with the cubicBezier curves. When true, horizontal is chosen, when false, + the direction that is larger (x distance between nodes vs y distance between nodes) is used. If the x distance is larger, horizontal. This is ment to be used with hierarchical layouts. + + smooth.roundness Number diff --git a/docs/network/index.html b/docs/network/index.html index f08859e2..041dbb90 100644 --- a/docs/network/index.html +++ b/docs/network/index.html @@ -780,8 +780,14 @@ function releaseFunction (clusterPosition, containedNodesPositions) { positions when using clusters since they cannot be correctly initialized from just the positions. - - + + + moveNode(nodeId, Number x, Number y) + + + Returns: none + You can use this to programatically move a node. The supplied x and y positions have to be in canvas space! + getBoundingBox(String diff --git a/download/vis.zip b/download/vis.zip index 039fda395b52d1462d3e1366f813954a7adff675..4a1f722805c612b6b2b9bfb952e8d034ab5eb8a6 100644 GIT binary patch delta 2369841 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�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≤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
TQb0<1wU!2KyK4j->Rk^2o>7A|rk)POR}t)&}w? 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≺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 (4TgduzXc;yi27$yW7g%BC%#ECQtI@a7 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