diff --git a/dist/vis.js b/dist/vis.js index 2ae5ee95..7a117917 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -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'); @@ -4072,13 +4072,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 } }; @@ -4094,14 +4094,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); } }; @@ -4114,8 +4114,8 @@ return /******/ (function(modules) { // webpackBootstrap if (event.preventDefault) { event.preventDefault(); // non-IE browsers } else { - event.returnValue = false; // IE browsers - } + event.returnValue = false; // IE browsers + } }; /** @@ -4280,17 +4280,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 + ')'; } } }; @@ -4304,7 +4304,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); }; /** @@ -4520,12 +4520,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; }; @@ -4538,11 +4538,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]]); } } @@ -4561,11 +4561,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]); } } @@ -4777,13 +4777,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'; @@ -4872,6 +4872,7 @@ return /******/ (function(modules) { // webpackBootstrap flags.overflow < 0 && !flags.empty && !flags.invalidMonth && + !flags.invalidWeekday && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated; @@ -4952,7 +4953,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) { @@ -4966,16 +4967,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; @@ -5073,9 +5078,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 @@ -5179,16 +5182,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; @@ -5256,10 +5257,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); } @@ -5303,8 +5301,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; }; } @@ -5512,12 +5517,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); @@ -5565,14 +5569,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; } } @@ -5651,7 +5655,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); }); @@ -5778,18 +5785,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; + } + + weekday = weekday != null ? 1 * weekday : firstDayOfWeek; - 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; + 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 }; } @@ -6075,9 +6082,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); @@ -6101,14 +6118,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) { @@ -6188,7 +6198,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]; } } @@ -6300,7 +6310,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) { @@ -6400,12 +6409,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; } @@ -6418,12 +6422,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 () { @@ -6583,7 +6599,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(), @@ -6595,7 +6611,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 () { @@ -6642,14 +6658,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, @@ -6840,6 +6848,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); } @@ -7011,18 +7032,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); } - return input; + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; } // LOCALES @@ -7045,9 +7068,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 @@ -7194,12 +7215,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 @@ -7210,11 +7245,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); @@ -7261,6 +7304,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; @@ -7360,19 +7404,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'; @@ -7581,12 +7629,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. @@ -7603,17 +7668,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; @@ -7623,15 +7684,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) { @@ -7643,11 +7704,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; @@ -7697,7 +7758,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'); @@ -7775,13 +7836,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) { @@ -7818,7 +7902,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; @@ -7856,7 +7940,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); @@ -8271,21 +8355,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) { @@ -8302,10 +8386,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; @@ -8325,13 +8409,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); } } }; @@ -8961,8 +9045,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'); + } }; /** @@ -9738,9 +9822,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this._ids[id]) { delete this._ids[id]; removed.push(id); - } else { - // nothing interesting for me :-( - } + } else {} } } @@ -9784,6 +9866,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = DataView; + // nothing interesting for me :-( + /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { @@ -10027,11 +10111,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; @@ -10737,9 +10819,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; @@ -11275,9 +11357,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; @@ -12032,6 +12114,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Graph3d; + // use use defaults + /***/ }, /* 18 */ /***/ function(module, exports) { @@ -13550,10 +13634,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 @@ -13561,6 +13642,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(); @@ -14503,9 +14586,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 @@ -14524,6 +14605,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Component; + // should be implemented by the component + /***/ }, /* 29 */ /***/ function(module, exports) { @@ -14598,16 +14681,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 @@ -14619,12 +14702,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()) { @@ -14632,26 +14715,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); @@ -14661,20 +14744,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); @@ -14721,14 +14804,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; + } } } } @@ -15926,7 +16009,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'); } }; @@ -17511,25 +17594,25 @@ return /******/ (function(modules) { // webpackBootstrap } // if dragged group was move downwards everything above should have an offset else if (origOrder[curPos + orgOffset] == draggedId) { - orgOffset = 1; - continue; - } - // found a group (apart from dragged group) that has the wrong position -> switch with the - // group at the position where other one should be, fix index arrays and continue - else { - var slippedPosition = newOrder.indexOf(origOrder[curPos + orgOffset]); - var switchGroup = groupsData.get(newOrder[curPos + newOffset]); - var shouldBeGroup = groupsData.get(origOrder[curPos + orgOffset]); - this.options.groupOrderSwap(switchGroup, shouldBeGroup, groupsData); - groupsData.update(switchGroup); - groupsData.update(shouldBeGroup); - - var switchGroupId = newOrder[curPos + newOffset]; - newOrder[curPos + newOffset] = origOrder[curPos + orgOffset]; - newOrder[slippedPosition] = switchGroupId; - - curPos++; - } + orgOffset = 1; + continue; + } + // found a group (apart from dragged group) that has the wrong position -> switch with the + // group at the position where other one should be, fix index arrays and continue + else { + var slippedPosition = newOrder.indexOf(origOrder[curPos + orgOffset]); + var switchGroup = groupsData.get(newOrder[curPos + newOffset]); + var shouldBeGroup = groupsData.get(origOrder[curPos + orgOffset]); + this.options.groupOrderSwap(switchGroup, shouldBeGroup, groupsData); + groupsData.update(switchGroup); + groupsData.update(shouldBeGroup); + + var switchGroupId = newOrder[curPos + newOffset]; + newOrder[curPos + newOffset] = origOrder[curPos + orgOffset]; + newOrder[slippedPosition] = switchGroupId; + + curPos++; + } } } } @@ -17890,7 +17973,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; }); @@ -18779,10 +18862,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'; @@ -18810,12 +18893,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'; } }; @@ -19005,7 +19088,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(); @@ -19047,7 +19130,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) { @@ -19340,8 +19423,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); @@ -20075,23 +20158,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 { @@ -21388,6 +21471,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 @@ -21403,10 +21490,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]; @@ -21439,15 +21522,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) { // reset the popup history because the indices may have been changed. @@ -21499,13 +21582,13 @@ return /******/ (function(modules) { // webpackBootstrap this._create(); } } + }, { + key: '_create', /** * Create all DOM elements * @private */ - }, { - key: '_create', value: function _create() { var _this = this; @@ -21569,13 +21652,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-configuration-wrapper'; @@ -21586,13 +21669,13 @@ return /******/ (function(modules) { // webpackBootstrap this._showPopupIfNeeded(); } + }, { + 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]); @@ -21606,6 +21689,8 @@ return /******/ (function(modules) { // webpackBootstrap this._removePopup(); } + }, { + key: '_getValue', /** * get the value from the actualOptions if it exists @@ -21613,8 +21698,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++) { @@ -21627,6 +21710,8 @@ return /******/ (function(modules) { // webpackBootstrap } return base; } + }, { + key: '_makeItem', /** * all option elements are wrapped in an item @@ -21634,8 +21719,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param domElements * @private */ - }, { - key: '_makeItem', value: function _makeItem(path) { var _arguments = arguments, _this2 = this; @@ -21664,20 +21747,22 @@ return /******/ (function(modules) { // webpackBootstrap } return 0; } + }, { + key: '_makeHeader', /** * header for major subjects * @param name * @private */ - }, { - key: '_makeHeader', value: function _makeHeader(name) { var div = document.createElement('div'); div.className = 'vis-configuration vis-config-header'; div.innerHTML = name; this._makeItem([], div); } + }, { + key: '_makeLabel', /** * make a label, if it is an object label, it gets different styling. @@ -21687,8 +21772,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]; @@ -21701,6 +21784,8 @@ return /******/ (function(modules) { // webpackBootstrap } return div; } + }, { + key: '_makeDropdown', /** * make a dropdown list for multiple possible string optoins @@ -21709,8 +21794,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeDropdown', value: function _makeDropdown(arr, value, path) { var select = document.createElement('select'); select.className = 'vis-configuration vis-config-select'; @@ -21739,6 +21822,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 @@ -21747,8 +21832,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeRange', value: function _makeRange(arr, value, path) { var defaultValue = arr[0]; var min = arr[1]; @@ -21809,6 +21892,8 @@ return /******/ (function(modules) { // webpackBootstrap this._setupPopup(popupString, itemIndex); } } + }, { + key: '_setupPopup', /** * prepare the popup @@ -21816,15 +21901,13 @@ return /******/ (function(modules) { // webpackBootstrap * @param index * @private */ - }, { - key: '_setupPopup', value: function _setupPopup(string, index) { var _this3 = this; if (this.initialized === true && this.allowCreation === true && this.popupCounter < 4000) { - var div = document.createElement("div"); - div.id = "vis-configuration-popup"; - div.className = "vis-configuration-popup"; + var div = document.createElement('div'); + div.id = 'vis-configuration-popup'; + div.className = 'vis-configuration-popup'; div.innerHTML = string; div.onclick = function () { _this3._removePopup(); @@ -21833,13 +21916,13 @@ return /******/ (function(modules) { // webpackBootstrap this.popupDiv = { html: div, index: index }; } } + }, { + key: '_removePopup', /** * remove the popup from the dom * @private */ - }, { - key: '_removePopup', value: function _removePopup() { if (this.popupDiv.html !== undefined) { this.popupDiv.html.parentNode.removeChild(this.popupDiv.html); @@ -21848,21 +21931,21 @@ return /******/ (function(modules) { // webpackBootstrap this.popupDiv = {}; } } + }, { + key: '_showPopupIfNeeded', /** * Show the popup if it is needed. * @private */ - }, { - key: '_showPopupIfNeeded', value: function _showPopupIfNeeded() { var _this4 = this; if (this.popupDiv.html !== undefined) { var correspondingElement = this.domElements[this.popupDiv.index]; var rect = correspondingElement.getBoundingClientRect(); - this.popupDiv.html.style.left = rect.left + "px"; - this.popupDiv.html.style.top = rect.top - 30 + "px"; // 30 is the height; + this.popupDiv.html.style.left = rect.left + 'px'; + this.popupDiv.html.style.top = rect.top - 30 + 'px'; // 30 is the height; document.body.appendChild(this.popupDiv.html); this.popupDiv.hideTimeout = setTimeout(function () { _this4.popupDiv.html.style.opacity = 0; @@ -21872,6 +21955,8 @@ return /******/ (function(modules) { // webpackBootstrap }, 1800); } } + }, { + key: '_makeCheckbox', /** * make a checkbox for boolean options. @@ -21880,8 +21965,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeCheckbox', value: function _makeCheckbox(defaultValue, value, path) { var checkbox = document.createElement('input'); checkbox.type = 'checkbox'; @@ -21908,6 +21991,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. @@ -21916,8 +22001,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeTextInput', value: function _makeTextInput(defaultValue, value, path) { var checkbox = document.createElement('input'); checkbox.type = 'text'; @@ -21935,6 +22018,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 @@ -21943,8 +22028,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_makeColorField', value: function _makeColorField(arr, value, path) { var _this5 = this; @@ -21967,6 +22050,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. @@ -21976,8 +22061,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param path * @private */ - }, { - key: '_showColorPicker', value: function _showColorPicker(value, div, path) { var _this6 = this; @@ -21993,6 +22076,8 @@ return /******/ (function(modules) { // webpackBootstrap _this6._update(colorString, path); }); } + }, { + key: '_handleObject', /** * parse an object and draw the correct items @@ -22000,8 +22085,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]; @@ -22072,6 +22155,8 @@ return /******/ (function(modules) { // webpackBootstrap } return visibleInSet; } + }, { + key: '_handleArray', /** * handle the array type of option @@ -22081,8 +22166,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); @@ -22101,6 +22184,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_update', /** * called to update the network with the new settings. @@ -22108,13 +22193,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.initialized = true; this.parent.setOptions(options); @@ -22208,13 +22291,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(); @@ -22226,18 +22309,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.'); } } }, { @@ -22248,6 +22331,8 @@ return /******/ (function(modules) { // webpackBootstrap return htmlColors[color]; } } + }, { + key: 'setColor', /** * Set the color of the colorPicker @@ -22261,8 +22346,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]; @@ -22301,19 +22384,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'; @@ -22321,6 +22404,8 @@ return /******/ (function(modules) { // webpackBootstrap this.frame.style.left = x + 'px'; this._generateHueCircle(); } + }, { + key: '_hide', // ------------------------------------------ PRIVATE ----------------------------- // @@ -22330,8 +22415,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param storePrevious * @private */ - }, { - key: '_hide', value: function _hide() { var storePrevious = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; @@ -22346,44 +22429,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 @@ -22391,8 +22476,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]; @@ -22414,26 +22497,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; @@ -22442,14 +22525,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]; @@ -22476,13 +22559,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%'; @@ -22490,14 +22573,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'; @@ -22518,10 +22601,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'; @@ -22570,39 +22653,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); @@ -22620,13 +22703,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; @@ -22651,13 +22734,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'); @@ -22699,6 +22782,8 @@ return /******/ (function(modules) { // webpackBootstrap } this.generated = true; } + }, { + key: '_moveSelector', /** * move the selector. This is called by hammer functions. @@ -22706,8 +22791,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; @@ -22779,15 +22862,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; @@ -22798,6 +22881,8 @@ return /******/ (function(modules) { // webpackBootstrap Validator.parse(options, usedOptions, []); return errorFound; } + }, { + key: 'parse', /** * Will traverse an object recursively and check every value @@ -22805,8 +22890,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)) { @@ -22814,6 +22897,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'check', /** * Check every value. If the value is an object, call the parse function on that object. @@ -22822,8 +22907,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); @@ -22845,6 +22928,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'checkFields', /** * @@ -22855,8 +22940,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]; @@ -22866,11 +22949,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); } @@ -22943,6 +23026,8 @@ return /******/ (function(modules) { // webpackBootstrap errorFound = true; } + }, { + key: 'findInOptions', /** * traverse the options in search for a match. @@ -22952,8 +23037,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]; @@ -23013,8 +23096,10 @@ 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 @@ -23024,8 +23109,6 @@ return /******/ (function(modules) { // webpackBootstrap 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; @@ -23520,7 +23603,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; } }; @@ -23837,7 +23920,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; } } @@ -24191,7 +24274,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; } } @@ -24283,7 +24366,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; @@ -24682,7 +24765,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; @@ -24703,7 +24786,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'; }); } @@ -24737,7 +24820,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(); @@ -24760,12 +24843,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); }; @@ -24879,11 +24962,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; @@ -24913,7 +24996,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 { @@ -24922,7 +25005,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; } @@ -25046,7 +25129,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(); @@ -25054,17 +25137,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; }; @@ -25095,10 +25178,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'; @@ -25582,29 +25665,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) { @@ -25635,7 +25718,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 }; }; @@ -25775,9 +25858,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 @@ -26353,16 +26436,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'; @@ -26418,16 +26501,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'; @@ -26435,11 +26518,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 = ''; } @@ -26837,17 +26920,6 @@ return /******/ (function(modules) { // webpackBootstrap var _optionsJs = __webpack_require__(110); - /** - * @constructor Network - * Create a network visualization, displaying nodes and edges. - * - * @param {Element} container The DOM element in which the Network will - * be created. Normally a div element. - * @param {Object} data An object containing parameters - * {Array} nodes - * {Array} edges - * @param {Object} options Options - */ __webpack_require__(111); var Emitter = __webpack_require__(19); @@ -26861,6 +26933,17 @@ return /******/ (function(modules) { // webpackBootstrap var Activator = __webpack_require__(40); var locales = __webpack_require__(115); + /** + * @constructor Network + * Create a network visualization, displaying nodes and edges. + * + * @param {Element} container The DOM element in which the Network will + * be created. Normally a div element. + * @param {Object} data An object containing parameters + * {Array} nodes + * {Array} edges + * @param {Object} options Options + */ function Network(container, data, options) { var _this = this; @@ -26924,7 +27007,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 @@ -26989,7 +27072,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); @@ -27030,7 +27113,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 { @@ -27038,15 +27121,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'); } }; @@ -27084,23 +27167,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'); }); }; @@ -27116,8 +27199,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(); @@ -27147,10 +27230,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'); }; /** @@ -27160,7 +27243,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(); @@ -27285,7 +27368,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); @@ -27455,7 +27538,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) { @@ -27468,16 +27551,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 @@ -27485,8 +27570,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) { @@ -27509,6 +27592,8 @@ return /******/ (function(modules) { // webpackBootstrap return group; } + }, { + key: "add", /** * Add a custom group style @@ -27517,8 +27602,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); @@ -27729,14 +27812,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; @@ -27780,17 +27863,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]; @@ -27807,17 +27890,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; @@ -27836,19 +27919,19 @@ 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; @@ -27857,16 +27940,16 @@ return /******/ (function(modules) { // webpackBootstrap 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]; @@ -27893,14 +27976,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) { @@ -27927,12 +28010,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 = []; @@ -27948,27 +28031,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) { @@ -27993,14 +28076,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) { @@ -28009,10 +28092,12 @@ 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. @@ -28020,8 +28105,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param Number x * @param Number y */ - }, { - key: 'moveNode', value: function moveNode(nodeId, x, y) { var _this4 = this; @@ -28029,10 +28112,10 @@ return /******/ (function(modules) { // webpackBootstrap this.body.nodes[nodeId].x = Number(x); this.body.nodes[nodeId].y = Number(y); setTimeout(function () { - _this4.body.emitter.emit("startSimulation"); + _this4.body.emitter.emit('startSimulation'); }, 0); } else { - console.log("Node id supplied to moveNode does not exist. Provided: ", nodeId); + console.log('Node id supplied to moveNode does not exist. Provided: ', nodeId); } } }]); @@ -28178,39 +28261,39 @@ 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); } } + }, { + 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) { @@ -28222,7 +28305,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 @@ -28264,7 +28347,7 @@ 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'; } } @@ -28276,13 +28359,6 @@ return /******/ (function(modules) { // webpackBootstrap } 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() { @@ -28351,48 +28427,50 @@ return /******/ (function(modules) { // webpackBootstrap } 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 @@ -28400,41 +28478,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 @@ -28442,8 +28520,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); @@ -28458,61 +28534,68 @@ 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: '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]; @@ -28645,16 +28728,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; @@ -28675,6 +28758,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_drawText', /** * @@ -28683,8 +28768,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]; @@ -28704,15 +28787,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'; @@ -28746,17 +28829,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. @@ -28766,8 +28851,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'; @@ -28778,6 +28861,8 @@ return /******/ (function(modules) { // webpackBootstrap } return [fontColor, strokeColor]; } + }, { + key: 'getTextSize', /** * @@ -28785,8 +28870,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]; @@ -28797,6 +28880,8 @@ return /******/ (function(modules) { // webpackBootstrap }; return size; } + }, { + key: 'calculateLabelSize', /** * @@ -28806,8 +28891,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]; @@ -28820,7 +28903,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 @@ -28828,6 +28911,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. @@ -28836,8 +28921,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: '_processLabel', value: function _processLabel(ctx, selected) { var width = 0; var lines = ['']; @@ -28845,7 +28928,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; @@ -28863,8 +28946,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') { @@ -29063,7 +29146,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; } } @@ -29075,7 +29158,7 @@ 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; } } @@ -29221,6 +29304,8 @@ return /******/ (function(modules) { // webpackBootstrap this.imageObj = imageObj; } } + }, { + key: '_resizeImage', /** * This function resizes the image by the options size when the image has not yet loaded. If the image has loaded, we @@ -29228,8 +29313,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: '_resizeImage', value: function _resizeImage() { var force = false; if (!this.imageObj.width || !this.imageObj.height) { @@ -29987,12 +30070,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); @@ -30530,7 +30613,7 @@ return /******/ (function(modules) { // webpackBootstrap }, smooth: { enabled: true, - type: "dynamic", + type: 'dynamic', forceDirection: 'none', roundness: 0.5 }, @@ -30550,7 +30633,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'; } @@ -30578,20 +30661,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; @@ -30638,6 +30721,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'setData', /** * Load edges by reading the data table @@ -30645,8 +30730,6 @@ return /******/ (function(modules) { // webpackBootstrap * @private * @private */ - }, { - key: 'setData', value: function setData(edges) { var _this3 = this; @@ -30689,17 +30772,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]; @@ -30714,22 +30797,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; @@ -30751,19 +30834,19 @@ 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++) { @@ -30776,7 +30859,7 @@ return /******/ (function(modules) { // webpackBootstrap } } - this.body.emitter.emit("_dataChanged"); + this.body.emitter.emit('_dataChanged'); } }, { key: 'refresh', @@ -30805,13 +30888,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; @@ -30889,6 +30972,10 @@ return /******/ (function(modules) { // webpackBootstrap var _edgesStraightEdge = __webpack_require__(89); + var _edgesStraightEdge2 = _interopRequireDefault(_edgesStraightEdge); + + var util = __webpack_require__(7); + /** * @class Edge * @@ -30905,16 +30992,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; @@ -30943,14 +31026,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; @@ -31004,13 +31087,13 @@ 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; @@ -31054,12 +31137,12 @@ return /******/ (function(modules) { // webpackBootstrap return dataChanged; } + }, { + key: 'connect', /** * Connect an edge to its nodes */ - }, { - key: 'connect', value: function connect() { this.disconnect(); @@ -31081,12 +31164,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); @@ -31099,37 +31182,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 @@ -31138,8 +31223,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); @@ -31171,6 +31254,8 @@ return /******/ (function(modules) { // webpackBootstrap this.edgeType.selectionWidth = this.options.selectionWidth + this.options.width; } } + }, { + key: 'draw', /** * Redraw a edge @@ -31178,8 +31263,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); @@ -31212,7 +31295,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); @@ -31238,14 +31321,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; @@ -31263,14 +31346,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; @@ -31283,6 +31366,8 @@ return /******/ (function(modules) { // webpackBootstrap ctx.rotate(angleInDegrees); } + }, { + key: '_pointOnCircle', /** * Get a point on a circle @@ -31293,8 +31378,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 { @@ -31312,13 +31395,13 @@ return /******/ (function(modules) { // webpackBootstrap value: function unselect() { this.selected = false; } + }, { + key: 'cleanup', /** * cleans all required things on delete * @returns {*} */ - }, { - key: 'cleanup', value: function cleanup() { return this.edgeType.cleanup(); } @@ -31360,13 +31443,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') { @@ -31374,7 +31457,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; @@ -31461,14 +31544,14 @@ return /******/ (function(modules) { // webpackBootstrap _get(Object.getPrototypeOf(BezierEdgeStatic.prototype), 'constructor', this).call(this, options, body, labelModule); } - /** - * Draw a line between two nodes - * @param {CanvasRenderingContext2D} ctx - * @private - */ - _createClass(BezierEdgeStatic, [{ key: '_line', + + /** + * Draw a line between two nodes + * @param {CanvasRenderingContext2D} ctx + * @private + */ value: function _line(ctx) { // draw a straight line ctx.beginPath(); @@ -31517,7 +31600,7 @@ return /******/ (function(modules) { // webpackBootstrap yVia = this.from.y + factor * dy; } } - if (type === "discrete") { + 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)) { @@ -31538,11 +31621,11 @@ return /******/ (function(modules) { // webpackBootstrap yVia = this.from.y + factor * dx; } } - if (type === "discrete") { + if (type === 'discrete') { yVia = dy < factor * dx ? this.from.y : yVia; } } - } else if (type === "straightCross") { + } 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; @@ -31660,6 +31743,8 @@ return /******/ (function(modules) { // webpackBootstrap // 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 @@ -31668,8 +31753,6 @@ 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]; @@ -31720,22 +31803,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]; @@ -31763,19 +31846,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++; } @@ -31783,6 +31866,8 @@ return /******/ (function(modules) { // webpackBootstrap return pos; } + }, { + key: '_getDistanceToBezierEdge', /** * Calculate the distance between a point (x3,y3) and a line segment from @@ -31796,8 +31881,6 @@ return /******/ (function(modules) { // webpackBootstrap * @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 minDistance = 1e9; @@ -31880,6 +31963,8 @@ return /******/ (function(modules) { // webpackBootstrap this.to = this.body.nodes[this.options.to]; this.id = this.options.id; } + }, { + key: 'drawLine', /** * Redraw a edge as a line @@ -31888,8 +31973,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); @@ -32041,6 +32124,8 @@ return /******/ (function(modules) { // webpackBootstrap } return [x, y, radius]; } + }, { + key: '_pointOnCircle', /** * Get a point on a circle @@ -32051,8 +32136,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 { @@ -32060,6 +32143,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. @@ -32069,8 +32154,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_findBorderPositionCircle', value: function _findBorderPositionCircle(node, ctx, options) { var x = options.x; var y = options.y; @@ -32100,25 +32183,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 @@ -32126,8 +32211,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); @@ -32168,7 +32251,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); @@ -32196,6 +32279,8 @@ return /******/ (function(modules) { // webpackBootstrap return this.color.color; } } + }, { + key: '_circle', /** * Draw a line from a node to itself, a circle @@ -32205,8 +32290,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); @@ -32219,6 +32302,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 @@ -32232,8 +32317,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; @@ -32286,6 +32369,8 @@ return /******/ (function(modules) { // webpackBootstrap return Math.sqrt(dx * dx + dy * dy); } + }, { + key: 'drawArrowHead', /** * @@ -32293,8 +32378,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); @@ -32453,15 +32536,17 @@ return /******/ (function(modules) { // webpackBootstrap _get(Object.getPrototypeOf(CubicBezierEdge.prototype), 'constructor', this).call(this, options, body, labelModule); } - /** - * Draw a line between two nodes - * @param {CanvasRenderingContext2D} ctx - * @private - */ - _createClass(CubicBezierEdge, [{ key: '_line', + + /** + * Draw a line between two nodes + * @param {CanvasRenderingContext2D} ctx + * @private + */ value: function _line(ctx) { + // get the coordinates of the support points. + var _getViaCoordinates2 = this._getViaCoordinates(); var _getViaCoordinates22 = _slicedToArray(_getViaCoordinates2, 2); @@ -32532,6 +32617,8 @@ return /******/ (function(modules) { // webpackBootstrap // x3,y3 is the point 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 @@ -32540,8 +32627,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{x: number, y: number}} * @private */ - }, { - key: 'getPoint', value: function getPoint(percentage) { var _ref3 = arguments.length <= 1 || arguments[1] === undefined ? this._getViaCoordinates() : arguments[1]; @@ -32569,8 +32654,6 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = CubicBezierEdge; module.exports = exports['default']; - // get the coordinates of the support points. - /***/ }, /* 87 */ /***/ function(module, exports, __webpack_require__) { @@ -32604,22 +32687,22 @@ return /******/ (function(modules) { // webpackBootstrap _get(Object.getPrototypeOf(CubicBezierEdgeBase.prototype), 'constructor', this).call(this, options, body, labelModule); } - /** - * 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 - */ - _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; @@ -32721,13 +32804,13 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'cleanup', /** * remove the support nodes * @returns {boolean} */ - }, { - key: 'cleanup', value: function cleanup() { if (this.via !== undefined) { delete this.body.nodes[this.via.id]; @@ -32736,6 +32819,8 @@ return /******/ (function(modules) { // webpackBootstrap } return false; } + }, { + key: 'setupSupportNode', /** * Bezier curves require an anchor point to calculate the smooth flow. These points are nodes. These nodes are invisible but @@ -32744,11 +32829,9 @@ return /******/ (function(modules) { // webpackBootstrap * 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 nodeId = 'edgeId:' + this.id; var node = this.body.functions.createNode({ id: nodeId, shape: 'circle', @@ -32772,14 +32855,14 @@ return /******/ (function(modules) { // webpackBootstrap this.via.y = 0; } } + }, { + key: '_line', /** * Draw a line between two nodes * @param {CanvasRenderingContext2D} ctx * @private */ - }, { - key: '_line', value: function _line(ctx) { // draw a straight line ctx.beginPath(); @@ -32791,6 +32874,8 @@ return /******/ (function(modules) { // webpackBootstrap this.disableShadow(ctx); return this.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 @@ -32799,8 +32884,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{x: number, y: number}} * @private */ - }, { - key: 'getPoint', value: function getPoint(percentage) { 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; @@ -32860,14 +32943,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(); @@ -32879,6 +32962,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 @@ -32887,8 +32972,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, @@ -33160,18 +33243,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); @@ -33181,12 +33264,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]; @@ -33202,13 +33285,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(); @@ -33248,14 +33331,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(); @@ -33275,14 +33358,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 = []; @@ -33326,12 +33409,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; @@ -33351,13 +33434,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; @@ -33382,6 +33465,8 @@ return /******/ (function(modules) { // webpackBootstrap } return true; } + }, { + key: '_performStep', /** * Perform the actual step @@ -33391,8 +33476,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; @@ -33409,9 +33492,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 @@ -33420,24 +33503,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 @@ -33445,8 +33530,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: '_freezeNodes', value: function _freezeNodes() { var nodes = this.body.nodes; for (var id in nodes) { @@ -33459,14 +33542,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) { @@ -33479,13 +33562,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; @@ -33502,7 +33585,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(); @@ -33610,6 +33693,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. @@ -33617,8 +33702,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: "solve", value: function solve() { if (this.options.gravitationalConstant !== 0 && this.physicsBody.physicsNodeIndices.length > 0) { var node = undefined; @@ -33645,6 +33728,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. @@ -33654,8 +33739,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) { @@ -33690,6 +33773,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_calculateForces", /** * Calculate the forces based on the distance. @@ -33701,8 +33786,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentBranch * @private */ - }, { - key: "_calculateForces", value: function _calculateForces(distance, dx, dy, node, parentBranch) { if (distance === 0) { distance = 0.1; @@ -33722,6 +33805,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. @@ -33730,8 +33815,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param nodeIndices * @private */ - }, { - key: "_formBarnesHutTree", value: function _formBarnesHutTree(nodes, nodeIndices) { var node = undefined; var nodeCount = nodeIndices.length; @@ -33767,9 +33850,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)); @@ -33807,6 +33890,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. @@ -33815,8 +33900,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; @@ -33831,6 +33914,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. @@ -33840,8 +33925,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. @@ -33868,6 +33951,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_placeInRegion", /** * actually place the node in a region (or branch) @@ -33877,8 +33962,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param region * @private */ - }, { - key: "_placeInRegion", value: function _placeInRegion(parentBranch, node, region) { switch (parentBranch.children[region].childrenCount) { case 0: @@ -33905,6 +33988,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 @@ -33913,8 +33998,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; @@ -33935,6 +34018,8 @@ return /******/ (function(modules) { // webpackBootstrap this._placeInTree(parentBranch, containedNode); } } + }, { + key: "_insertRegion", /** * This function subdivides the region into four new segments. @@ -33946,8 +34031,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentRange * @private */ - }, { - key: "_insertRegion", value: function _insertRegion(parentBranch, region) { var minX = undefined, maxX = undefined, @@ -33993,6 +34076,8 @@ return /******/ (function(modules) { // webpackBootstrap childrenCount: 0 }; } + }, { + key: "_debug", //--------------------------- DEBUGGING BELOW ---------------------------// @@ -34003,8 +34088,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param color * @private */ - }, { - key: "_debug", value: function _debug(ctx, color) { if (this.barnesHutTree !== undefined) { @@ -34013,6 +34096,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. @@ -34022,8 +34107,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param color * @private */ - }, { - key: "_drawBranch", value: function _drawBranch(branch, ctx, color) { if (color === undefined) { color = "#FF0000"; @@ -34099,6 +34182,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. @@ -34106,8 +34191,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: "solve", value: function solve() { var dx, dy, distance, fx, fy, repulsingForce, node1, node2; @@ -34194,6 +34277,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. @@ -34201,8 +34286,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: "solve", value: function solve() { var dx, dy, distance, fx, fy, repulsingForce, node1, node2, i, j; @@ -34285,14 +34368,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; @@ -34326,6 +34409,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_calculateSpringForce", /** * This is the code actually performing the calculation for the function above. @@ -34335,8 +34420,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; @@ -34395,14 +34478,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; @@ -34545,13 +34628,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; @@ -34598,19 +34681,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(); @@ -34672,13 +34755,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; @@ -34740,18 +34823,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(); } @@ -34769,20 +34852,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 @@ -34809,14 +34892,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]; @@ -34886,6 +34969,8 @@ return /******/ (function(modules) { // webpackBootstrap } return false; } + }, { + key: 'clusterByConnection', /** * suck all connected nodes of a node into the node. @@ -34893,17 +34978,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]; @@ -34950,6 +35033,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. @@ -34958,8 +35043,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{}} * @private */ - }, { - key: '_cloneOptions', value: function _cloneOptions(item, type) { var clonedOptions = {}; if (type === undefined || type === 'node') { @@ -34972,6 +35055,8 @@ return /******/ (function(modules) { // webpackBootstrap } return clonedOptions; } + }, { + key: '_createClusterEdges', /** * This function creates the edges that will be attached to the cluster. @@ -34982,8 +35067,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param options * @private */ - }, { - key: '_createClusterEdges', value: function _createClusterEdges(childNodesObj, childEdgesObj, newEdges, clusterNodeProperties, clusterEdgeProperties) { var edge = undefined, childNodeId = undefined, @@ -35026,6 +35109,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_checkOptions', /** * This function checks the options that can be supplied to the different cluster functions @@ -35034,8 +35119,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_checkOptions', value: function _checkOptions() { var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; @@ -35048,6 +35131,8 @@ return /******/ (function(modules) { // webpackBootstrap return options; } + }, { + key: '_cluster', /** * @@ -35057,8 +35142,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]; @@ -35082,7 +35165,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); } @@ -35090,7 +35173,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!'); } } @@ -35143,7 +35226,7 @@ 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) { + 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(); @@ -35179,22 +35262,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 @@ -35202,8 +35287,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; @@ -35221,26 +35304,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]; @@ -35385,6 +35468,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 @@ -35392,8 +35477,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Array} * @private */ - }, { - key: 'findNode', value: function findNode(nodeId) { var stack = []; var max = 100; @@ -35407,6 +35490,8 @@ return /******/ (function(modules) { // webpackBootstrap stack.push(this.body.nodes[nodeId]); return stack; } + }, { + key: '_getConnectedId', /** * Get the Id the node is connected to @@ -35415,8 +35500,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_getConnectedId', value: function _getConnectedId(edge, nodeId) { if (edge.toId != nodeId) { return edge.toId; @@ -35426,6 +35509,8 @@ return /******/ (function(modules) { // webpackBootstrap return edge.fromId; } } + }, { + key: '_getHubSize', /** * We determine how many connections denote an important hub. @@ -35433,8 +35518,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: '_getHubSize', value: function _getHubSize() { var average = 0; var averageSquared = 0; @@ -35493,12 +35576,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); @@ -35570,33 +35653,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; @@ -35629,8 +35712,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 + } } } } @@ -35654,25 +35737,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; @@ -35695,7 +35778,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'); @@ -35722,7 +35805,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) { @@ -35741,7 +35824,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(); @@ -35751,6 +35834,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_resizeNodes', /** * Redraw all nodes @@ -35759,8 +35844,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) { @@ -35786,6 +35869,8 @@ return /******/ (function(modules) { // webpackBootstrap // restore original scaling and translation ctx.restore(); } + }, { + key: '_drawNodes', /** * Redraw all nodes @@ -35794,8 +35879,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]; @@ -35834,6 +35917,8 @@ return /******/ (function(modules) { // webpackBootstrap node.draw(ctx); } } + }, { + key: '_drawEdges', /** * Redraw all edges @@ -35841,8 +35926,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; @@ -35855,6 +35938,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_drawControlNodes', /** * Redraw all edges @@ -35862,8 +35947,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; @@ -35874,14 +35957,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(); @@ -35960,7 +36043,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; } @@ -35968,8 +36051,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(); @@ -35991,7 +36074,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); @@ -36012,7 +36095,7 @@ return /******/ (function(modules) { // webpackBootstrap key: '_onResize', value: function _onResize() { this.setSize(); - this.body.emitter.emit("_redraw"); + this.body.emitter.emit('_redraw'); } }, { key: '_prepareValue', @@ -36028,12 +36111,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()) { @@ -36048,7 +36131,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); @@ -36060,10 +36143,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 @@ -36074,13 +36157,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; @@ -36141,6 +36224,8 @@ return /******/ (function(modules) { // webpackBootstrap _this3.body.eventListeners.onRelease(event); }); } + }, { + key: 'setSize', /** * Set a new size for the network @@ -36149,8 +36234,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]; @@ -36214,6 +36297,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 @@ -36222,11 +36307,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 @@ -36235,11 +36320,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 @@ -36248,11 +36333,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', /** * @@ -36260,11 +36345,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', /** * @@ -36272,8 +36357,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) }; } @@ -36337,13 +36420,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]; @@ -36369,48 +36452,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]; @@ -36465,6 +36548,8 @@ return /******/ (function(modules) { // webpackBootstrap var animationOptions = { position: center, scale: zoomLevel, animation: options.animation }; this.moveTo(animationOptions); } + }, { + key: "focus", // animation @@ -36474,8 +36559,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]; @@ -36489,6 +36572,8 @@ return /******/ (function(modules) { // webpackBootstrap console.log("Node: " + nodeId + " cannot be found."); } } + }, { + key: "moveTo", /** * @@ -36497,8 +36582,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 = {}; @@ -36537,6 +36620,8 @@ return /******/ (function(modules) { // webpackBootstrap this.animateView(options); } + }, { + key: "animateView", /** * @@ -36549,8 +36634,6 @@ return /******/ (function(modules) { // webpackBootstrap * // easeInQuart, easeOutQuart, easeInOutQuart, * // easeInQuint, easeOutQuint, easeInOutQuint */ - }, { - key: "animateView", value: function animateView(options) { if (options === undefined) { return; @@ -36605,13 +36688,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 }); @@ -36636,14 +36719,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]; @@ -36795,6 +36878,8 @@ return /******/ (function(modules) { // webpackBootstrap this.navigationHandler.setOptions(this.options); } + }, { + key: 'getPointer', /** * Get the pointer location from a touch location @@ -36802,22 +36887,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); @@ -36827,13 +36910,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); @@ -36841,24 +36924,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; @@ -36868,14 +36951,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); @@ -36890,14 +36973,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]; @@ -36958,6 +37041,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. @@ -36966,8 +37051,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {{nodesChanges: boolean, edgesChanges: boolean}} * @private */ - }, { - key: '_determineIfDifferent', value: function _determineIfDifferent(previousSelection, currentSelection) { var nodesChanges = false; var edgesChanges = false; @@ -36995,6 +37078,8 @@ return /******/ (function(modules) { // webpackBootstrap return { nodesChanges: nodesChanges, edgesChanges: edgesChanges }; } + }, { + key: 'onDragStart', /** * This function is called by onDragStart. @@ -37002,8 +37087,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) { @@ -37056,13 +37139,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; @@ -37118,13 +37201,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; @@ -37141,14 +37224,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); @@ -37161,6 +37244,8 @@ return /******/ (function(modules) { // webpackBootstrap var scale = this.pinch.scale * event.scale; this.zoom(scale, pointer); } + }, { + key: 'zoom', /** * Zoom the network in or out @@ -37169,8 +37254,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; @@ -37212,6 +37295,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: 'onMouseWheel', /** * Event handler for mouse wheel event, used to zoom the timeline @@ -37220,8 +37305,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {MouseEvent} event * @private */ - }, { - key: 'onMouseWheel', value: function onMouseWheel(event) { // retrieve delta var delta = 0; @@ -37258,14 +37341,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; @@ -37316,6 +37399,8 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionHandler.hoverObject(obj); } } + }, { + key: '_checkShowPopup', /** * Check if there is an element on the given position in the network @@ -37325,8 +37410,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); @@ -37411,6 +37494,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_checkHidePopup', /** * Check if the popup must be hidden, which is the case when the mouse is no @@ -37418,8 +37503,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {{x:Number, y:Number}} pointer * @private */ - }, { - key: '_checkHidePopup', value: function _checkHidePopup(pointer) { var pointerObj = this.selectionHandler._pointerToPositionObject(pointer); @@ -37491,13 +37574,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(); } @@ -37545,6 +37628,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 @@ -37554,8 +37639,6 @@ return /******/ (function(modules) { // webpackBootstrap * * @private */ - }, { - key: 'loadNavigationElements', value: function loadNavigationElements() { var _this2 = this; @@ -37575,7 +37658,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])); @@ -37599,47 +37682,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 = {}; @@ -37676,12 +37759,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; @@ -37699,79 +37782,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'); } } } @@ -37823,24 +37906,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 = ''; @@ -37849,13 +37932,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; @@ -37883,23 +37966,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'; } }]); @@ -37956,10 +38039,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; @@ -37967,8 +38052,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} pointer * @private */ - }, { - key: "selectOnPoint", value: function selectOnPoint(pointer) { var selected = false; if (this.options.selectable === true) { @@ -38015,14 +38098,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); } @@ -38051,6 +38134,8 @@ return /******/ (function(modules) { // webpackBootstrap this._removeFromSelection(obj); } } + }, { + key: "_getAllNodesOverlappingWith", /** * retrieve all nodes overlapping with given object @@ -38058,8 +38143,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; @@ -38071,6 +38154,8 @@ return /******/ (function(modules) { // webpackBootstrap } return overlappingNodes; } + }, { + key: "_pointerToPositionObject", /** * Return a position object in canvasspace from a single point in screenspace @@ -38079,8 +38164,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 { @@ -38090,6 +38173,8 @@ return /******/ (function(modules) { // webpackBootstrap bottom: canvasPos.y - 1 }; } + }, { + key: "getNodeAt", /** * Get the top node at the a specific point (like a click) @@ -38098,8 +38183,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]; @@ -38118,6 +38201,8 @@ return /******/ (function(modules) { // webpackBootstrap return undefined; } } + }, { + key: "_getEdgesOverlappingWith", /** * retrieve all edges overlapping with given object, selector is around center @@ -38125,8 +38210,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++) { @@ -38136,6 +38219,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "_getAllEdgesOverlappingWith", /** * retrieve all nodes overlapping with given object @@ -38143,13 +38228,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 @@ -38159,8 +38244,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]; @@ -38177,6 +38260,8 @@ return /******/ (function(modules) { // webpackBootstrap return undefined; } } + }, { + key: "_addToSelection", /** * Add object to the selection array. @@ -38184,8 +38269,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param obj * @private */ - }, { - key: "_addToSelection", value: function _addToSelection(obj) { if (obj instanceof Node) { this.selectionObj.nodes[obj.id] = obj; @@ -38193,6 +38276,8 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionObj.edges[obj.id] = obj; } } + }, { + key: "_addToHover", /** * Add object to the selection array. @@ -38200,8 +38285,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param obj * @private */ - }, { - key: "_addToHover", value: function _addToHover(obj) { if (obj instanceof Node) { this.hoverObj.nodes[obj.id] = obj; @@ -38209,6 +38292,8 @@ return /******/ (function(modules) { // webpackBootstrap this.hoverObj.edges[obj.id] = obj; } } + }, { + key: "_removeFromSelection", /** * Remove a single option from selection. @@ -38216,8 +38301,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]; @@ -38225,14 +38308,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)) { @@ -38247,6 +38330,8 @@ return /******/ (function(modules) { // webpackBootstrap this.selectionObj = { nodes: {}, edges: {} }; } + }, { + key: "_getSelectedNodeCount", /** * return the number of selected nodes @@ -38254,8 +38339,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: "_getSelectedNodeCount", value: function _getSelectedNodeCount() { var count = 0; for (var nodeId in this.selectionObj.nodes) { @@ -38265,6 +38348,8 @@ return /******/ (function(modules) { // webpackBootstrap } return count; } + }, { + key: "_getSelectedNode", /** * return the selected node @@ -38272,8 +38357,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)) { @@ -38282,6 +38365,8 @@ return /******/ (function(modules) { // webpackBootstrap } return undefined; } + }, { + key: "_getSelectedEdge", /** * return the selected edge @@ -38289,8 +38374,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)) { @@ -38299,6 +38382,8 @@ return /******/ (function(modules) { // webpackBootstrap } return undefined; } + }, { + key: "_getSelectedEdgeCount", /** * return the number of selected edges @@ -38306,8 +38391,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: "_getSelectedEdgeCount", value: function _getSelectedEdgeCount() { var count = 0; for (var edgeId in this.selectionObj.edges) { @@ -38317,6 +38400,8 @@ return /******/ (function(modules) { // webpackBootstrap } return count; } + }, { + key: "_getSelectedObjectCount", /** * return the number of selected objects. @@ -38324,8 +38409,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: "_getSelectedObjectCount", value: function _getSelectedObjectCount() { var count = 0; for (var nodeId in this.selectionObj.nodes) { @@ -38340,6 +38423,8 @@ return /******/ (function(modules) { // webpackBootstrap } return count; } + }, { + key: "_selectionIsEmpty", /** * Check if anything is selected @@ -38347,8 +38432,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)) { @@ -38362,6 +38445,8 @@ return /******/ (function(modules) { // webpackBootstrap } return true; } + }, { + key: "_clusterInSelection", /** * check if one of the selected nodes is a cluster. @@ -38369,8 +38454,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)) { @@ -38381,6 +38464,8 @@ return /******/ (function(modules) { // webpackBootstrap } return false; } + }, { + key: "_selectConnectedEdges", /** * select the edges connected to the node that is being selected @@ -38388,8 +38473,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]; @@ -38397,6 +38480,8 @@ return /******/ (function(modules) { // webpackBootstrap this._addToSelection(edge); } } + }, { + key: "_hoverConnectedEdges", /** * select the edges connected to the node that is being selected @@ -38404,8 +38489,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]; @@ -38413,6 +38496,8 @@ return /******/ (function(modules) { // webpackBootstrap this._addToHover(edge); } } + }, { + key: "_unselectConnectedEdges", /** * unselect the edges connected to the node that is being selected @@ -38420,8 +38505,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]; @@ -38429,6 +38512,8 @@ return /******/ (function(modules) { // webpackBootstrap this._removeFromSelection(edge); } } + }, { + key: "blurObject", /** * This is called when someone clicks on a node. either select or deselect it. @@ -38437,8 +38522,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Node || Edge} object * @private */ - }, { - key: "blurObject", value: function blurObject(object) { if (object.hover === true) { object.hover = false; @@ -38449,6 +38532,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: "hoverObject", /** * This is called when someone clicks on a node. either select or deselect it. @@ -38457,8 +38542,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Node || Edge} object * @private */ - }, { - key: "hoverObject", value: function hoverObject(object) { var hoverChanged = false; // remove all node hover highlights @@ -38483,10 +38566,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; + } } } @@ -38507,22 +38590,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", /** * @@ -38530,8 +38615,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) { @@ -38543,6 +38626,8 @@ return /******/ (function(modules) { // webpackBootstrap } return idArray; } + }, { + key: "getSelectedEdges", /** * @@ -38550,8 +38635,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) { @@ -38563,6 +38646,8 @@ return /******/ (function(modules) { // webpackBootstrap } return idArray; } + }, { + key: "selectNodes", /** * select zero or more nodes with the option to highlight edges @@ -38570,15 +38655,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(); @@ -38588,25 +38671,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(); @@ -38616,19 +38699,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)) { @@ -38840,6 +38923,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. @@ -38847,8 +38932,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. @@ -38896,6 +38979,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_placeNodesByHierarchy', /** * This function places the nodes on the canvas based on the hierarchial distribution. @@ -38903,8 +38988,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; @@ -38936,6 +39019,8 @@ return /******/ (function(modules) { // webpackBootstrap } } } + }, { + key: '_getDistribution', /** * This function get the distribution of levels based on hubsize @@ -38943,8 +39028,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Object} * @private */ - }, { - key: '_getDistribution', value: function _getDistribution() { var distribution = {}; var nodeId = undefined, @@ -38972,6 +39055,8 @@ return /******/ (function(modules) { // webpackBootstrap } return distribution; } + }, { + key: '_getHubSize', /** * Get the hubsize from all remaining unlevelled nodes. @@ -38979,8 +39064,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {number} * @private */ - }, { - key: '_getHubSize', value: function _getHubSize() { var hubSize = 0; for (var nodeId in this.body.nodes) { @@ -38993,6 +39076,8 @@ return /******/ (function(modules) { // webpackBootstrap } return hubSize; } + }, { + key: '_determineLevelsByHubsize', /** * this function allocates nodes in levels based on the recursive branching from the largest hubs. @@ -39000,8 +39085,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param hubsize * @private */ - }, { - key: '_determineLevelsByHubsize', value: function _determineLevelsByHubsize() { var nodeId = undefined, node = undefined; @@ -39022,6 +39105,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. @@ -39031,8 +39116,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentId * @private */ - }, { - key: '_setLevelByHubsize', value: function _setLevelByHubsize(level, node) { if (this.hierarchicalLevels[node.id] !== undefined) return; @@ -39047,6 +39130,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 @@ -39054,8 +39139,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param hubsize * @private */ - }, { - key: '_determineLevelsDirected', value: function _determineLevelsDirected() { var nodeId = undefined, node = undefined; @@ -39083,6 +39166,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 @@ -39092,8 +39177,6 @@ return /******/ (function(modules) { // webpackBootstrap * @param parentId * @private */ - }, { - key: '_setLevelDirected', value: function _setLevelDirected(level, node) { if (this.hierarchicalLevels[node.id] !== undefined) return; @@ -39110,6 +39193,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 @@ -39121,8 +39206,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; @@ -39244,13 +39327,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) { @@ -39260,13 +39343,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) { @@ -39294,14 +39377,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(); @@ -39335,14 +39418,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(); @@ -39417,14 +39500,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) { @@ -39448,14 +39531,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; @@ -39496,14 +39579,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) { @@ -39534,14 +39617,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; @@ -39611,14 +39694,14 @@ return /******/ (function(modules) { // webpackBootstrap this.showManipulatorToolbar(); } } + }, { + key: 'deleteSelected', /** * delete everything in the selection * * @private */ - }, { - key: 'deleteSelected', value: function deleteSelected() { var _this4 = this; @@ -39676,6 +39759,8 @@ return /******/ (function(modules) { // webpackBootstrap this.showManipulatorToolbar(); } } + }, { + key: '_setup', //********************************************** PRIVATE ***************************************// @@ -39683,8 +39768,6 @@ return /******/ (function(modules) { // webpackBootstrap * draw or remove the DOM * @private */ - }, { - key: '_setup', value: function _setup() { if (this.options.enabled === true) { // Enable the GUI @@ -39703,13 +39786,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) { @@ -39743,6 +39826,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 @@ -39751,8 +39836,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} * @private */ - }, { - key: '_getNewTargetNode', value: function _getNewTargetNode(x, y) { var controlNodeStyle = util.deepExtend({}, this.options.controlNodeStyle); @@ -39764,12 +39847,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(); @@ -39788,13 +39871,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; @@ -39820,13 +39903,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) { @@ -39836,13 +39919,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(); @@ -39868,14 +39951,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]; @@ -39883,11 +39966,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); @@ -39946,6 +40029,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 ------------------------------// @@ -39955,12 +40040,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 @@ -39968,8 +40053,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]; @@ -39978,14 +40061,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)) { @@ -39995,13 +40078,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; @@ -40010,26 +40093,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++) { @@ -40052,6 +40135,8 @@ return /******/ (function(modules) { // webpackBootstrap this.temporaryIds = { nodes: [], edges: [] }; } + }, { + key: '_controlNodeTouch', // ------------------------------------------ EDIT EDGE FUNCTIONS -----------------------------------------// @@ -40060,21 +40145,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); @@ -40096,14 +40179,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); @@ -40120,14 +40203,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); @@ -40160,6 +40243,8 @@ return /******/ (function(modules) { // webpackBootstrap } this.body.emitter.emit('_redraw'); } + }, { + key: '_handleConnect', // ------------------------------------ END OF EDIT EDGE FUNCTIONS -----------------------------------------// @@ -40170,8 +40255,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) { @@ -40227,14 +40310,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); @@ -40271,6 +40354,8 @@ return /******/ (function(modules) { // webpackBootstrap } this.body.emitter.emit('_redraw'); } + }, { + key: '_performAddNode', // --------------------------------------- END OF ADD EDGE FUNCTIONS -------------------------------------// @@ -40279,8 +40364,6 @@ return /******/ (function(modules) { // webpackBootstrap /** * Adds a node on the specified location */ - }, { - key: '_performAddNode', value: function _performAddNode(clickData) { var _this5 = this; @@ -40309,14 +40392,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; @@ -40340,14 +40423,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; @@ -41516,10 +41599,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; } @@ -41661,8 +41744,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); + } } /** @@ -42162,13 +42245,13 @@ return /******/ (function(modules) { // webpackBootstrap this.callback = callback; } - /** - * @param {string} url The Url to cache the image as - * @return {Image} imageToLoadBrokenUrlOn The image object - */ - _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) { @@ -42180,14 +42263,14 @@ return /******/ (function(modules) { // webpackBootstrap this.images[url] = imageToCache; } + }, { + 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 */ - }, { - key: "_tryloadBrokenUrl", value: function _tryloadBrokenUrl(url, brokenUrl, imageToLoadBrokenUrlOn) { var _this = this; @@ -42204,25 +42287,25 @@ return /******/ (function(modules) { // webpackBootstrap //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", /** * @return {Image} imageToRedrawWith The images that will be passed to the callback when it is invoked */ - }, { - key: "_redrawWithImage", value: function _redrawWithImage(imageToRedrawWith) { if (this.callback) { this.callback(imageToRedrawWith); } } + }, { + key: "load", /** * @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 */ - }, { - key: "load", value: function load(url, brokenUrl, id) { var _this2 = this; diff --git a/dist/vis.map b/dist/vis.map index 3e143b14..6ebab623 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","throttle","wait","needExecution","throttled","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","throttleRedraw","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","_origRedraw","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","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","groupHammer","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","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","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","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","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","groupsDraggable","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","pointData","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","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","cleanup","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","nodeSelected","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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"} \ 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","throttle","wait","needExecution","throttled","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","throttleRedraw","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","_origRedraw","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","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","groupHammer","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","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","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","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","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","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","_showPopupIfNeeded","path","_arguments","_this2","_len","_key","_ret2","div","objectLabel","selectedValue","_update","_makeLabel","err","popupString","popupValue","oninput","_setupPopup","_this3","html","hideTimeout","deleteTimeout","_this4","correspondingElement","checkbox","checked","_this5","defaultColor","_showColorPicker","_this6","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","groupsDraggable","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","pointData","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","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","cleanup","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","nodeSelected","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","defaultData","sourceNodeId","targetNodeId","_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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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 3010a4af..2395f53a 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -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(114),dotparser:i(112),gephiParser:i(113),allOptions:i(110)},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=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===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=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 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?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&(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.throttle=function(t,e){var i=null,o=!1;return function n(){i?o=!0:(o=!1,t(),i=setTimeout(function(){i=null,o&&n()},e))}},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 E(t,i){return function(o){return null!=o?(P(this,t,o),e.updateOffset(this,i),this):S(this,t)}}function S(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&&(Wi[t]=n),e&&(Wi[e[0]]=function(){return z(n.apply(this,arguments),e[1],e[2])}),i&&(Wi[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++)Wi[o[e]]?o[e]=Wi[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()),Yi[e]=Yi[e]||L(e),Yi[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(Y(t))}function Y(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function W(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):S(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=St(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(St(),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(St(),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),Wi[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 Et(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 St(t,e,i,o){return Et(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 St();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:+St(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):St(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 Yt(t){return this.utcOffset(0,t)}function Wt(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?St(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):St(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(St(s.from),St(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",S(t,"Date")+r*o),a&&K(t,S(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function oe(t,e){var i=t||St(),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,St(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:St(t),+this>+t):(i=m(t)?+t:+St(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:St(t),+t>+this):(i=m(t)?+t:+St(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=St([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 Ye(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 We(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 St(1e3*t)}function $e(){return St.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 Ei(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Si(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,Ei.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=Si(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,Yi={},Wi={},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),W(["M","MM"],function(t,e){e[ao]=g(t)-1}),W(["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),W(["YYYYY","YYYYYY"],ro),W("YYYY",function(t,i){i[ro]=2===t.length?e.parseTwoDigitYear(t):g(t)}),W("YY",function(t,i){i[ro]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return g(t)+(g(t)>68?1900:2e3)};var _o=E("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),W(["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=St.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=St.apply(null,arguments);return t>this?this:t});Lt("Z",":"),Lt("ZZ",""),j("Z",eo),j("ZZ",eo),W(["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"),Eo=ee(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var So=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}),Se("gggg","weekYear"),Se("ggggg","weekYear"),Se("GGGG","isoWeekYear"),Se("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),W("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}),W(["D","DD"],ho),W("Do",function(t,e){e[ho]=g(t.match(Zi)[0],10)});var Po=E("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),W(["H","HH"],lo),W(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),W(["h","hh"],function(t,e,i){e[lo]=g(t),l(i).bigHour=!0});var Ao=/[ap]\.?m?\.?/i,Lo=E("Hours",!0);N("m",["mm",2],0,"minute"),D("minute","m"),j("m",Zi),j("mm",Zi,Ui),W(["m","mm"],uo);var Bo=E("Minutes",!1);N("s",["ss",2],0,"second"),D("second","s"),j("s",Zi),j("ss",Zi,Ui),W(["s","ss"],co);var Ro=E("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")W(Fo,Ze);var jo=E("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=Ee,Ho.isAfter=se,Ho.isBefore=re,Ho.isBetween=ae,Ho.isSame=he,Ho.isValid=Ce,Ho.lang=So,Ho.locale=ye,Ho.localeData=be,Ho.max=Oo,Ho.min=ko,Ho.parsingFlags=Te,Ho.set=I,Ho.startOf=we,Ho.subtract=Eo,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=Ye,Ho.weekday=We,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=Yt,Ho.local=Wt,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 Yo=Ho,Wo={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=Wo,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=So,N("X",0,0,"unix"),N("x",0,0,"valueOf"),j("x",to),j("X",io),W("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),W("x",function(t,e,i){i._d=new Date(g(t))}),e.version="2.10.5",i(St),e.fn=Yo,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.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 D(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===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=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 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==Dt;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=D(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&(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.throttle=function(t,e){var i=null,o=!1;return function n(){i?o=!0:(o=!1,t(),i=setTimeout(function(){i=null,o&&n()},e))}},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?D(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 D(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 M(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 E(t,i){return function(o){return null!=o?(P(this,t,o),e.updateOffset(this,i),this):S(this,t)}}function S(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&&(Wi[t]=n),e&&(Wi[e[0]]=function(){return z(n.apply(this,arguments),e[1],e[2])}),i&&(Wi[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++)Wi[o[e]]?o[e]=Wi[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()),Yi[e]=Yi[e]||L(e),Yi[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(Y(t))}function Y(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function W(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):S(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=St(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(St(),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(St(),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),Wi[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 Dt(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 Mt(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||D(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?Dt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Et(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,Mt(s)}function St(t,e,i,o){return Et(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 St();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(Do)||["-",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:+St(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):St(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 Yt(t){return this.utcOffset(0,t)}function Wt(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?St(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):St(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=Mo.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(St(s.from),St(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",S(t,"Date")+r*o),a&&K(t,S(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function oe(t,e){var i=t||St(),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,St(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:St(t),+this>+t):(i=m(t)?+t:+St(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:St(t),+t>+this):(i=m(t)?+t:+St(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=St([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 Ye(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 We(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 St(1e3*t)}function $e(){return St.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=D(),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 Di(t){return function(){return this.as(t)}}function Mi(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 Ei(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Si(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,Ei.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=Si(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,Yi={},Wi={},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)}),M("month","M"),j("M",Zi),j("MM",Zi,Ui),j("MMM",oo),j("MMMM",oo),W(["M","MM"],function(t,e){e[ao]=g(t)-1}),W(["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"),M("year","y"),j("Y",to),j("YY",Zi,Ui),j("YYYY",Ji,qi),j("YYYYY",Qi,Xi),j("YYYYYY",Qi,Xi),W(["YYYYY","YYYYYY"],ro),W("YYYY",function(t,i){i[ro]=2===t.length?e.parseTwoDigitYear(t):g(t)}),W("YY",function(t,i){i[ro]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return g(t)+(g(t)>68?1900:2e3)};var _o=E("FullYear",!1);N("w",["ww",2],"wo","week"),N("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("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"),M("dayOfYear","DDD"),j("DDD",Ki),j("DDDD",Vi),W(["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=St.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=St.apply(null,arguments);return t>this?this:t});Lt("Z",":"),Lt("ZZ",""),j("Z",eo),j("ZZ",eo),W(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Bt(t)});var Do=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Mo=/(\-)?(?:(\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"),Eo=ee(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var So=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}),Se("gggg","weekYear"),Se("ggggg","weekYear"),Se("GGGG","isoWeekYear"),Se("GGGGG","isoWeekYear"),M("weekYear","gg"),M("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"),M("quarter","Q"),j("Q",Gi),W("Q",function(t,e){e[ao]=3*(g(t)-1)}),N("D",["DD",2],"Do","date"),M("date","D"),j("D",Zi),j("DD",Zi,Ui),j("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),W(["D","DD"],ho),W("Do",function(t,e){e[ho]=g(t.match(Zi)[0],10)});var Po=E("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"),M("day","d"),M("weekday","e"),M("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),M("hour","h"),j("a",Ve),j("A",Ve),j("H",Zi),j("h",Zi),j("HH",Zi,Ui),j("hh",Zi,Ui),W(["H","HH"],lo),W(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),W(["h","hh"],function(t,e,i){e[lo]=g(t),l(i).bigHour=!0});var Ao=/[ap]\.?m?\.?/i,Lo=E("Hours",!0);N("m",["mm",2],0,"minute"),M("minute","m"),j("m",Zi),j("mm",Zi,Ui),W(["m","mm"],uo);var Bo=E("Minutes",!1);N("s",["ss",2],0,"second"),M("second","s"),j("s",Zi),j("ss",Zi,Ui),W(["s","ss"],co);var Ro=E("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()}),M("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")W(Fo,Ze);var jo=E("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=Ee,Ho.isAfter=se,Ho.isBefore=re,Ho.isBetween=ae,Ho.isSame=he,Ho.isValid=Ce,Ho.lang=So,Ho.locale=ye,Ho.localeData=be,Ho.max=Oo,Ho.min=ko,Ho.parsingFlags=Te,Ho.set=I,Ho.startOf=we,Ho.subtract=Eo,Ho.toArray=De,Ho.toObject=Me,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=Ye,Ho.weekday=We,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=Yt,Ho.local=Wt,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 Yo=Ho,Wo={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=Wo,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.",D);var Ko=Math.abs,Jo=Di("ms"),Qo=Di("s"),$o=Di("m"),tn=Di("h"),en=Di("d"),on=Di("w"),nn=Di("M"),sn=Di("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=Mi,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=So,N("X",0,0,"unix"),N("x",0,0,"valueOf"),j("x",to),j("X",io),W("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),W("x",function(t,e,i){i._d=new Date(g(t))}),e.version="2.10.5",i(St),e.fn=Yo,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=D,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,throttleRedraw: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",function(){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","throttleRedraw"];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._origRedraw||(this._origRedraw=this.redraw.bind(this)),this.redraw=a.throttle(this._origRedraw,this.options.throttleRedraw),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;in+r)return}else{var a=e.height;if(n+a-r>o)return}}if(e&&e!=this.groupTouchParams.group){var h=this.groupsData,d=h.get(e.groupId),l=h.get(this.groupTouchParams.group.groupId);l&&d&&(this.options.groupOrderSwap(l,d,this.groupsData),this.groupsData.update(l),this.groupsData.update(d));var u=this.groupsData.getIds({order:this.options.groupOrder});if(!s.equalArray(u,this.groupTouchParams.originalOrder))for(var h=this.groupsData,c=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,f=Math.min(c.length,u.length),m=0,v=0,g=0;f>m;){for(;f>m+v&&f>m+g&&u[m+v]==c[m+g];)m++;if(m+v>=f)break;if(u[m+v]!=p)if(c[m+g]!=p){var y=u.indexOf(c[m+g]),b=h.get(u[m+v]),w=h.get(c[m+g]);this.options.groupOrderSwap(b,w,h),h.update(b),h.update(w);var _=u[m+v];u[m+v]=c[m+g],u[y]=_,m++}else g=1;else v=1}}}},o.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=s.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!s.equalArray(n,e.groupTouchParams.originalOrder))for(var r=e.groupTouchParams.originalOrder,a=Math.min(r.length,n.length),h=0;a>h;){for(;a>h&&n[h]==r[h];)h++;if(h>=a)break;var d=n.indexOf(r[h]),l=o.get(n[h]),u=o.get(r[h]);e.options.groupOrderSwap(l,u,o),groupsData.update(l),groupsData.update(u);var c=n[h];n[h]=r[h],n[d]=c,h++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},o.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||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.milliseconds(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:"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,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!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),p=!0,r=!0),a-o>0&&p===!1?(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=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(A=E.DELIMITER);var i=z+s();if(S[i])return A=E.DELIMITER,N=i,n(),void n();if(S[z])return A=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(A=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(A=E.IDENTIFIER)}for(A=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()),A===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(A!=E.IDENTIFIER)throw _("Identifier expected");var o=N;if(c(),"="===N){if(c(),A!=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(),A===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(A!=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(A!=E.IDENTIFIER)throw _("Attribute name expected");var e=N;if(c(),"="!=N)throw _("Equal sign = expected");if(c(),A!=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="",A=E.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;aw;){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-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-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-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];return n.forEach(function(t){r.appendChild(t)}),i.domElements.push(r),{v:i.domElements.length}}();if("object"==typeof r)return r.v}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-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-configuration vis-config-label vis-config-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-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;se&&n>e*u?(a.min=Math.ceil(e*u),l=a.min,d="range increased"):n>e/u&&(a.min=Math.ceil(e/u),l=a.min,d="range increased"),e*u>s&&1!==s&&(a.max=Math.ceil(e*u),l=a.max,d="range increased"),a.value=e}else a.value=o;var c=document.createElement("input");c.className="vis-configuration vis-config-rangeinput",c.value=a.value;var p=this;a.onchange=function(){c.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){c.value=this.value};var f=this._makeLabel(i[i.length-1],i),m=this._makeItem(i,f,a,c);""!==d&&this.popupHistory[m]!==l&&(this.popupHistory[m]=l,this._setupPopup(d,m))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter<4e3){var o=document.createElement("div");o.id="vis-configuration-popup",o.className="vis-configuration-popup",o.innerHTML=t,o.onclick=function(){i._removePopup()},this.popupCounter+=1,this.popupDiv={html:o,index:e}}}},{key:"_removePopup",value:function(){void 0!==this.popupDiv.html&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}},{key:"_showPopupIfNeeded",value:function(){var t=this;if(void 0!==this.popupDiv.html){var e=this.domElements[this.popupDiv.index],i=e.getBoundingClientRect();this.popupDiv.html.style.left=i.left+"px",this.popupDiv.html.style.top=i.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=setTimeout(function(){t.popupDiv.html.style.opacity=0},1500),this.popupDiv.deleteTimeout=setTimeout(function(){t._removePopup()},1800)}}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-configuration vis-config-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-configuration vis-config-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-configuration vis-config-colorBlock",s.style.backgroundColor=e):s.className="vis-configuration vis-config-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.initialized=!0,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:"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,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!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),p=!0,r=!0),a-o>0&&p===!1?(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=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(A=E.DELIMITER);var i=z+s();if(S[i])return A=E.DELIMITER,N=i,n(),void n();if(S[z])return A=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(A=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(A=E.IDENTIFIER)}for(A=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()),A===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(A!=E.IDENTIFIER)throw _("Identifier expected");var o=N;if(c(),"="===N){if(c(),A!=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(),A===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(A!=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(A!=E.IDENTIFIER)throw _("Attribute name expected");var e=N;if(c(),"="!=N)throw _("Equal sign = expected");if(c(),A!=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="",A=E.NULL,L=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=M},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;a' + logs.innerHTML; } - +alert(1)