diff --git a/.npmignore b/.npmignore index b453f43f..46dd1f7d 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,5 @@ misc node_modules -src test tools .idea diff --git a/README.md b/README.md index 0fc2f2d0..2fe36fcb 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ or load vis.js using require.js. Note that vis.css must be loaded too. ```js require.config({ paths: { - vis: 'path/to/vis', + vis: 'path/to/vis/dist', } }); require(['vis'], function (math) { @@ -76,22 +76,6 @@ Where `container` is an HTML element, `data` is an Array with data or a DataSet, and `options` is an optional object with configuration options for the component. -### Bundles - -The folder `dist` contains bundled versions of vis.js for direct use in the browser. In general, to use vis, load the files `vis.js` and `vis.css`. - -vis.js offers various bundled files: default or light version, and minified or non-minified. The source code of vis.js consists of commonjs modules, which makes it possible to create custom bundles using tools like [Browserify](http://browserify.org/) or [Webpack](http://webpack.github.io/). This can be bundling just one visualization like the Timeline, or bundling vis.js as part of your own browserified web application. Note that hammer.js v1.0.6 or newer is required. - -Bundle | Files | Description ------- | ----- | ----------- -default | vis.js, vis.css | The default bundle, fully standalone. Code is not minified, use this version for development. -default minified | vis.min.js, vis.min.css | The default bundle, fully standalone. Code is minified, use this version for production. -light | vis-light.js, vis.css | The light bundle. External libraries [moment.js](http://momentjs.com/) and [hammer.js](http://hammerjs.github.io/) are excluded and need to be loaded before loading vis. Code is not minified, use this version for development. -light minified | vis-light.min.js, vis.min.css | The light bundle. External libraries [moment.js](http://momentjs.com/) and [hammer.js](http://hammerjs.github.io/) are excluded and need to be loaded before loading vis. Codee is minified, use this version for production. - - - - ## Example @@ -162,6 +146,122 @@ slow, so when only the non-minified library is needed, one can use the npm run watch-dev +## Custom builds + +The folder `dist` contains bundled versions of vis.js for direct use in the browser. These bundles contain the all visualizations and includes external dependencies such as hammer.js and moment.js. + +The source code of vis.js consists of commonjs modules, which makes it possible to create custom bundles using tools like [Browserify](http://browserify.org/) or [Webpack](http://webpack.github.io/). This can be bundling just one visualization like the Timeline, or bundling vis.js as part of your own browserified web application. Note that hammer.js v1.0.6 or newer is required. + +#### Example 1: Bundle a single visualization + +For example, to create a bundle with just the Timeline and DataSet, create an index file named **custom.js** in the root of the project, containing: + +```js +exports.DataSet = require('./lib/DataSet'); +exports.Timeline = require('./lib/timeline/Timeline'); +``` + +Install browserify globally via `[sudo] npm install -g browserify`, then create a custom bundle like: + + browserify custom.js -o vis-custom.js -s vis + +This will generate a custom bundle *vis-custom.js*, which exposes the namespace `vis` containing only `DataSet` and `Timeline`. The generated bundle can be minified with uglifyjs (installed globally with `[sudo] npm install -g uglify-js`): + + uglifyjs vis-custom.js -o vis-custom.min.js + +The custom bundle can now be loaded like: + +```html + + + + + + + + ... + + +``` + +#### Example 2: Exclude external libraries + +The default bundle `vis.js` is standalone and includes external dependencies such as hammer.js and moment.js. When these libraries are already loaded by the application, vis.js does not need to include these dependencies itself too. To build a custom bundle of vis.js excluding moment.js and hammer.js, run browserify in the root of the project: + + browserify index.js -o vis-custom.js -s vis -x moment -x hammerjs + +This will generate a custom bundle *vis-custom.js*, which exposes the namespace `vis`, and has moment and hammerjs excluded. The generated bundle can be minified with uglifyjs: + + uglifyjs vis-custom.js -o vis-custom.min.js + +The custom bundle can now be loaded as: + +```html + + + + + + + + + + + + + ... + + +``` + +#### Example 3: Bundle vis.js as part of your (commonjs) application + +When writing a web application with commonjs modules, vis.js can be packaged automatically into the application. Create a file **app.js** containing: + +```js +var moment = require('moment'); +var DataSet = require('vis/lib/DataSet'); +var Timeline = require('vis/lib/timeline/Timeline'); + +var container = document.getElementById('visualization'); +var data = new DataSet([ + {id: 1, content: 'item 1', start: moment('2013-04-20')}, + {id: 2, content: 'item 2', start: moment('2013-04-14')}, + {id: 3, content: 'item 3', start: moment('2013-04-18')}, + {id: 4, content: 'item 4', start: moment('2013-04-16'), end: moment('2013-04-19')}, + {id: 5, content: 'item 5', start: moment('2013-04-25')}, + {id: 6, content: 'item 6', start: moment('2013-04-27')} +]); +var options = {}; +var timeline = new Timeline(container, data, options); +``` + +Install the application dependencies via npm: + + npm install vis moment + +The application can be bundled and minified: + + browserify app.js -o app-bundle.js + uglifyjs app-bundle.js -o app-bundle.min.js + +And loaded into a webpage: + +```html + + + + + + +
+ + + + +``` + + ## Test To test the library, install the project dependencies once: diff --git a/bower.json b/bower.json index 4a737aad..5a62ff87 100644 --- a/bower.json +++ b/bower.json @@ -10,7 +10,6 @@ "ignore": [ "misc", "node_modules", - "lib", "test", "tools", ".idea", diff --git a/dist/vis-light.map b/dist/vis-light.map deleted file mode 100644 index 76ba9975..00000000 --- a/dist/vis-light.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis-light.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_41__","__WEBPACK_EXTERNAL_MODULE_42__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DataStep","Range","stack","TimeStep","components","items","Item","ItemBox","ItemPoint","ItemRange","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","indexOf","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","RGBToHex","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","HSVToRGB","q","t","rgb","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","found","low","high","newLow","newHigh","guess","isVisible","start","console","log","binarySearchGeneric","sidePreference","newGuess","prevValue","nextValue","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","createElement","drawPoint","x","y","group","point","drawPoints","style","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","prototype","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","item","col","cols","getValue","update","updatedIds","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","map","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","keys","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","setOptions","Emitter","_setScale","scale","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","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","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","next","end","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","delay","mouseX","mouseY","tooltipTimeout","clearTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","setTimeout","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","LN10","step1","pow","step2","step5","toPrecision","getStep","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setItems","Hammer","backgroundVertical","backgroundHorizontal","centerContainer","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_onTouch","_onPinch","_onDragStart","_onDrag","prevent_default","listeners","events","args","slice","scrollTop","scrollTopMin","touch","destroy","_stopAutoResize","component","_initAutoResize","setCustomTime","time","getCustomTime","newDataSet","initialLoad","fit","setWindow","getVisibleItems","setGroups","groups","what","dataRange","getItemRange","dataset","minItem","maxStartItem","maxEndItem","setSelection","getSelection","getWindow","getRange","resized","borderRootHeight","borderRootWidth","autoHeight","containerHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","visibility","repaint","conversion","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","allowDragging","initialScrollTop","gesture","deltaY","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","linegraph","backgroundHorizontalContainer","minimumStep","forcedStepSize","current","autoScale","stepIndex","marginStart","marginEnd","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","first","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","isMajor","now","hours","minutes","seconds","milliseconds","clone","direction","moveable","zoomable","zoomMin","zoomMax","_onDragEnd","_onHold","_onMouseWheel","validateDirection","getPointer","pageX","pageY","hammerUtil","changed","_applyRange","newStart","newEnd","deltaX","diffRange","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","initDate","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","date","year","getLabelMinor","format","getLabelMajor","_isResized","_previousWidth","_previousHeight","showCurrentTime","parent","title","currentTimeTimer","showCustomTime","eventParams","drag","dragging","stopPropagation","svg","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","groupId","drawIcon","changeCalled","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","characterHeight","largestWidth","majorCharWidth","minorCharWidth","convertValue","invertedValue","convertedValue","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","offsetTop","offsetLeft","ii","repositionY","labelSet","setParent","_checkIfVisible","removeFromDataSet","removeItem","_constructByEndArray","endArray","initialPosByStart","newVisibleItems","initialPosByEnd","_checkIfInvisible","repositionX","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onRemove","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","box","_updateUngrouped","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","getLabelSet","oldItemsData","getItems","_order","getGroups","itemData","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","selected","dragLeftItem","dragRightItem","itemProps","groupFromTarget","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","yAxisOrientation","defaultGroup","sampling","graphHeight","barChart","dataAxis","legend","lastStart","rangePerPixelInv","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","preprocessedGroup","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_preprocessData","_updateYAxis","_convertYvalues","_drawLineGraph","_drawBarGraph","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","_toggleAxisVisiblity","drawIcons","axisUsed","coreDistance","_drawPoints","svgHeight","_catmullRom","_linear","dFill","datapoints","xValue","yValue","extractedData","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","majorLines","majorTexts","minorLines","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","insertBefore","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","itemSetHeight","marginLeft","baseClassName","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","stabilize","initializing","triggerFunctions","edit","editEdge","connect","del","constants","nodes","radiusMin","radiusMax","shape","image","fixed","fontColor","fontSize","fontFace","level","highlightColor","edges","widthSelectionMultiplier","hoverWidth","fontFill","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilizationIterations","link","editNode","back","addDescription","linkDescription","editEdgeDescription","addError","linkError","editError","editBoundError","deleteError","deleteClusterError","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","hoverObj","controlNodesActive","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","MixinLoader","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","_centerNetwork","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","_setNodes","_setEdges","_putDataInSector","_stabilize","dragGraph","onEdit","onEditEdge","onConnect","onDelete","editMode","groupname","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_createKeyBinds","pinch","_onTap","_onDoubleTap","_onRelease","_onMouseMoveTitle","reset","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","manipulationDiv","navigationDivs","oldNodesData","_updateSelection","angle","_resetLevels","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","draw","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","iterations","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_doInAllActiveSectors","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","toggleFreeze","smooth","mass","internalMultiplier","parentEdgeId","positionBezierNode","mixin","storePosition","dataArray","allowedToMoveX","allowedToMoveY","focusOnNode","nodePosition","requiredScale","canvasCenter","distanceFromCenter","fromId","toId","widthSelected","customLength","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","img","Image","onload","imagelist","grouplist","dynamicEdges","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","borderWidthSelected","fx","fy","vx","vy","minForce","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","lineCount","yLine","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","substr","forEach2","array1","array2","elem1","elem2","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","eventType","getTouchList","collectEventData","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","unbind","trigger","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","nodeIds","getSelectedNodes","edgeIds","getSelectedEdges","idArray","RangeError","selectNodes","selectEdges","_clearManipulatorBar","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","getElementById","boundFunction","edgeBeingEdited","selectedControlNode","addNodeButton","_createAddNodeToolbar","addEdgeButton","_createAddEdgeToolbar","editButton","_editNode","_createEditEdgeToolbar","editModeButton","backButton","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivActions","_stopMovement","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","amount","maxCount","_setLevel","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vis-light.min.js b/dist/vis-light.min.js deleted file mode 100644 index 02e91288..00000000 --- a/dist/vis-light.min.js +++ /dev/null @@ -1,36 +0,0 @@ -/** - * vis.js - * https://github.com/almende/vis - * - * A dynamic, browser-based visualization library. - * - * @version 3.0.1-SNAPSHOT - * @date 2014-07-21 - * - * @license - * Copyright (C) 2011-2014 Almende B.V, http://almende.com - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy - * of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("moment"),require("hammerjs")):"function"==typeof define&&define.amd?define(["moment","hammerjs"],e):"object"==typeof exports?exports.vis=e(require("moment"),require("hammerjs")):t.vis=e(t.moment,t.hammerjs)}(this,function(__WEBPACK_EXTERNAL_MODULE_41__,__WEBPACK_EXTERNAL_MODULE_42__){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Graph3d=i(5),e.graph3d={Camera:i(6),Filter:i(7),Point2d:i(8),Point3d:i(9),Slider:i(10),StepNumber:i(11)},e.Timeline=i(12),e.Graph2d=i(13),e.timeline={DataStep:i(14),Range:i(15),stack:i(16),TimeStep:i(17),components:{items:{Item:i(28),ItemBox:i(29),ItemPoint:i(30),ItemRange:i(31)},Component:i(18),CurrentTime:i(19),CustomTime:i(20),DataAxis:i(21),GraphGroup:i(22),Group:i(23),ItemSet:i(24),Legend:i(25),LineGraph:i(26),TimeAxis:i(27)}},e.Network=i(32),e.network={Edge:i(33),Groups:i(34),Images:i(35),Node:i(36),Popup:i(37),dotparser:i(38)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(39),e.hammer=i(40)},function(module,exports,__webpack_require__){var moment=__webpack_require__(39);exports.isNumber=function(t){return t instanceof Number||"number"==typeof t},exports.isString=function(t){return t instanceof String||"string"==typeof t},exports.isDate=function(t){if(t instanceof Date)return!0;if(exports.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},exports.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},exports.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},exports.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},exports.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;ii;i++)if(t[i]!=e[i])return!1;return!0},exports.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){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(exports.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"Moment":if(exports.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(exports.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+exports.getType(t)+" to type Date");case"ISODate":if(exports.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(exports.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ISODate");case"ASPDate":if(exports.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(exports.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+exports.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;exports.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":t instanceof Array?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},exports.getAbsoluteLeft=function(t){return t.getBoundingClientRect().left+window.pageXOffset},exports.getAbsoluteTop=function(t){return t.getBoundingClientRect().top+window.pageYOffset},exports.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},exports.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},exports.forEach=function(t,e){var i,s;if(t instanceof Array)for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},exports.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},exports.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},exports.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},exports.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},exports.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},exports.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},exports.option={},exports.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},exports.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},exports.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},exports.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),exports.isString(t)?t:exports.isNumber(t)?t+"px":e||null},exports.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},exports.GiveDec=function(Hex){var Value;return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},exports.GiveHex=function(t){var e;return e=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},exports.parseColor=function(t){var e;if(exports.isString(t))if(exports.isValidHex(t)){var i=exports.hexToHSV(t),s={h:i.h,s:.45*i.s,v:Math.min(1,1.05*i.v)},o={h:i.h,s:Math.min(1,1.25*i.v),v:.6*i.v},n=exports.HSVToHex(o.h,o.h,o.v),r=exports.HSVToHex(s.h,s.s,s.v);e={background:t,border:n,highlight:{background:r,border:n},hover:{background:r,border:n}}}else e={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}};else e={},e.background=t.background||"white",e.border=t.border||e.background,exports.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border),exports.isString(t.hover)?e.hover={border:t.hover,background:t.hover}:(e.hover={},e.hover.background=t.hover&&t.hover.background||e.background,e.hover.border=t.hover&&t.hover.border||e.border);return e},exports.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=exports.GiveDec(t.substring(0,1)),i=exports.GiveDec(t.substring(1,2)),s=exports.GiveDec(t.substring(2,3)),o=exports.GiveDec(t.substring(3,4)),n=exports.GiveDec(t.substring(4,5)),r=exports.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+o,i=16*n+r;return{r:a,g:h,b:i}},exports.RGBToHex=function(t,e,i){var s=exports.GiveHex(Math.floor(t/16)),o=exports.GiveHex(t%16),n=exports.GiveHex(Math.floor(e/16)),r=exports.GiveHex(e%16),a=exports.GiveHex(Math.floor(i/16)),h=exports.GiveHex(i%16),d=s+o+n+r+a+h;return"#"+d},exports.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(s==o)return{h:0,s:0,v:s};var n=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-n/(o-s))/360,h=(o-s)/o,d=o;return{h:a,s:h,v:d}},exports.HSVToRGB=function(t,e,i){var s,o,n,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:s=i,o=l,n=h;break;case 1:s=d,o=i,n=h;break;case 2:s=h,o=i,n=l;break;case 3:s=h,o=d,n=i;break;case 4:s=l,o=h,n=i;break;case 5:s=i,o=h,n=d}return{r:Math.floor(255*s),g:Math.floor(255*o),b:Math.floor(255*n)}},exports.HSVToHex=function(t,e,i){var s=exports.HSVToRGB(t,e,i);return exports.RGBToHex(s.r,s.g,s.b)},exports.hexToHSV=function(t){var e=exports.hexToRGB(t);return exports.RGBToHSV(e.r,e.g,e.b)},exports.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},exports.selectiveBridgeObject=function(t,e){if("object"==typeof e){for(var i=Object.create(e),s=0;sa;)o=void 0===s?n[u][i]:n[u][i][s],n[u].isVisible(e)?h=!0:(o=r&&console.log("BinarySearch too many iterations. Aborting.")}return u},exports.binarySearchGeneric=function(t,e,i,s){var o,n,r,a,h=1e4,d=0,l=t,c=!1,p=0,u=l.length,m=p,g=u,f=Math.floor(.5*(u+p));if(0==u)f=-1;else if(1==u)r=l[f][i],f=r==e?0:-1;else{for(u-=1;0==c&&h>d;)n=l[Math.max(0,f-1)][i],r=l[f][i],a=l[Math.min(l.length-1,f+1)][i],r==e||e>n&&r>e||e>r&&a>e?(c=!0,r!=e&&("before"==s?e>n&&r>e&&(f=Math.max(0,f-1)):e>r&&a>e&&(f=Math.min(l.length-1,f+1)))):(e>r?m=Math.floor(.5*(u+p)):g=Math.floor(.5*(u+p)),o=Math.floor(.5*(u+p)),p==m&&u==g?(f=-1,c=!0):(u=g,p=m,f=Math.floor(.5*(u+p)))),d++;d>=h&&console.log("BinarySearch too many iterations. Aborting.")}return f}},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?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(s)):(s=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.getDOMElement=function(t,e,i){var s;return e.hasOwnProperty(t)?e[t].redundant.length>0?(s=e[t].redundant[0],e[t].redundant.shift()):(s=document.createElement(t),i.appendChild(s)):(s=document.createElement(t),e[t]={used:[],redundant:[]},i.appendChild(s)),e[t].used.push(s),s},e.drawPoint=function(t,i,s,o,n){var r;return"circle"==s.options.drawPoints.style?(r=e.getSVGElement("circle",o,n),r.setAttributeNS(null,"cx",t),r.setAttributeNS(null,"cy",i),r.setAttributeNS(null,"r",.5*s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")):(r=e.getSVGElement("rect",o,n),r.setAttributeNS(null,"x",t-.5*s.options.drawPoints.size),r.setAttributeNS(null,"y",i-.5*s.options.drawPoints.size),r.setAttributeNS(null,"width",s.options.drawPoints.size),r.setAttributeNS(null,"height",s.options.drawPoints.size),r.setAttributeNS(null,"class",s.className+" point")),r},e.drawBar=function(t,i,s,o,n,r,a){var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*s),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",s),h.setAttributeNS(null,"height",o),h.setAttributeNS(null,"class",n)}},function(t,e,i){function s(t,e){if(!t||Array.isArray(t)||o.isDataTable(t)||(e=t,t=null),this._options=e||{},this._data={},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 s=this._options.type[i];this._type[i]="Date"==s||"ISODate"==s||"ASPDate"==s?"Date":s}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t)}var o=i(1);s.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},s.prototype.subscribe=s.prototype.on,s.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},s.prototype.unsubscribe=s.prototype.off,s.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this._subscribers&&(s=s.concat(this._subscribers[t])),"*"in this._subscribers&&(s=s.concat(this._subscribers["*"]));for(var o=0;or;r++)i=n._addItem(t[r]),s.push(i);else if(o.isDataTable(t))for(var h=this._getColumnNames(t),d=0,l=t.getNumberOfRows();l>d;d++){for(var c={},p=0,u=h.length;u>p;p++){var m=h[p];c[m]=t.getValue(d,p)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},s.prototype.update=function(t,e){var i=[],s=[],n=this,r=n._fieldId,a=function(t){var e=t[r];n._data[e]?(e=n._updateItem(t),s.push(e)):(e=n._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else if(o.isDataTable(t))for(var l=this._getColumnNames(t),c=0,p=t.getNumberOfRows();p>c;c++){for(var u={},m=0,g=l.length;g>m;m++){var f=l[m];u[f]=t.getValue(c,m)}a(u)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s},e),i.concat(s)},s.prototype.get=function(){var t,e,i,s,n=this,r=o.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.returnType){var h=["DataTable","Array","Object"];if(a=-1==h.indexOf(i.returnType)?"Array":i.returnType,s&&a!=o.getType(s))throw new Error('Type of parameter "data" ('+o.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!o.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==o.getType(s)?"DataTable":"Array";var d,l,c,p,u=i&&i.type||this._options.type,m=i&&i.filter,g=[];if(void 0!=t)d=n._getItem(t,u),m&&!m(d)&&(d=null);else if(void 0!=e)for(c=0,p=e.length;p>c;c++)d=n._getItem(e[c],u),(!m||m(d))&&g.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=n._getItem(l,u),(!m||m(d))&&g.push(d));if(i&&i.order&&void 0==t&&this._sort(g,i.order),i&&i.fields){var f=i.fields;if(void 0!=t)d=this._filterFields(d,f);else for(c=0,p=g.length;p>c;c++)g[c]=this._filterFields(g[c],f)}if("DataTable"==a){var v=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,v,d);else for(c=0;cc;c++)s.push(g[c]);return s}return g},s.prototype.getIds=function(t){var e,i,s,o,n,r=this._data,a=t&&t.filter,h=t&&t.order,d=t&&t.type||this._options.type,l=[];if(a)if(h){n=[];for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&n.push(o));for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=this._getItem(s,d),a(o)&&l.push(o[this._fieldId]));else if(h){n=[];for(s in r)r.hasOwnProperty(s)&&n.push(r[s]);for(this._sort(n,h),e=0,i=n.length;i>e;e++)l[e]=n[e][this._fieldId]}else for(s in r)r.hasOwnProperty(s)&&(o=r[s],l.push(o[this._fieldId]));return l},s.prototype.getDataSet=function(){return this},s.prototype.forEach=function(t,e){var i,s,o=e&&e.filter,n=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],s=i[this._fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,n),(!o||o(i))&&t(i,s))},s.prototype.map=function(t,e){var i,s=e&&e.filter,o=e&&e.type||this._options.type,n=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,o),(!s||s(i))&&n.push(t(i,a)));return e&&e.order&&this._sort(n,e.order),n},s.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},s.prototype._sort=function(t,e){if(o.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],o=e[i];return s>o?1:o>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},s.prototype.remove=function(t,e){var i,s,o,n=[];if(Array.isArray(t))for(i=0,s=t.length;s>i;i++)o=this._remove(t[i]),null!=o&&n.push(o);else o=this._remove(t),null!=o&&n.push(o);return n.length&&this._trigger("remove",{items:n},e),n},s.prototype._remove=function(t){if(o.isNumber(t)||o.isString(t)){if(this._data[t])return delete this._data[t],t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],e}return null},s.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this._trigger("remove",{items:e},t),e},s.prototype.max=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||r>s)&&(i=n,s=r)}return i},s.prototype.min=function(t){var e=this._data,i=null,s=null;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n[t];null!=r&&(!i||s>r)&&(i=n,s=r)}return i},s.prototype.distinct=function(t){var e,i=this._data,s=[],n=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(s[e]==d){l=!0;break}l||void 0===d||(s[r]=d,r++)}if(n)for(e=0;ei;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},s.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),o=0,n=e.length;n>o;o++){var r=e[o];t.setValue(s,o,i[r])}},t.exports=s},function(t,e,i){function s(t,e){this._data=null,this._ids={},this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var o=i(1),n=i(3);s.prototype.setData=function(t){var e,i,s;if(this._data){this._data.unsubscribe&&this._data.unsubscribe("*",this.listener),e=[];for(var o in this._ids)this._ids.hasOwnProperty(o)&&e.push(o);this._ids={},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,s=e.length;s>i;i++)o=e[i],this._ids[o]=!0;this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},s.prototype.get=function(){var t,e,i,s=this,n=o.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var r=o.extend({},this._options,e);this._options.filter&&e&&e.filter&&(r.filter=function(t){return s._options.filter(t)&&e.filter(t)});var a=[];return void 0!=t&&a.push(t),a.push(r),a.push(i),this._data&&this._data.get.apply(this._data,a)},s.prototype.getIds=function(t){var e;if(this._data){var i,s=this._options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this._data.getIds({filter:i,order:t&&t.order})}else e=[];return e},s.prototype.getDataSet=function(){for(var t=this;t instanceof s;)t=t._data;return t||null},s.prototype._onEvent=function(t,e,i){var s,o,n,r,a=e&&e.items,h=this._data,d=[],l=[],c=[];if(a&&h){switch(t){case"add":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r&&(this._ids[n]=!0,d.push(n));break;case"update":for(s=0,o=a.length;o>s;s++)n=a[s],r=this.get(n),r?this._ids[n]?l.push(n):(this._ids[n]=!0,d.push(n)):this._ids[n]&&(delete this._ids[n],c.push(n));break;case"remove":for(s=0,o=a.length;o>s;s++)n=a[s],this._ids[n]&&(delete this._ids[n],c.push(n))}d.length&&this._trigger("add",{items:d},i),l.length&&this._trigger("update",{items:l},i),c.length&&this._trigger("remove",{items:c},i)}},s.prototype.on=n.prototype.on,s.prototype.off=n.prototype.off,s.prototype._trigger=n.prototype._trigger,s.prototype.subscribe=s.prototype.on,s.prototype.unsubscribe=s.prototype.off,t.exports=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))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",this.filterLabel="time",this.legendLabel="value",this.style=s.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 l,this.eye=new h(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.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}var o=i(46),n=i(3),r=i(4),a=i(1),h=i(9),d=i(8),l=i(6),c=i(7),p=i(10),u=i(11);o(s.prototype),s.prototype._setScale=function(){this.scale=new h(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!==s.STYLE.DOTCOLOR&&this.style!==s.STYLE.DOTSIZE&&this.style!==s.STYLE.BARCOLOR&&this.style!==s.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)}},s.prototype.getNumberOfRows=function(t){return t.length},s.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},s.prototype.getDistinctValues=function(t,e){for(var i=[],s=0;st[s][e]&&(i.min=t[s][e]),i.maxt;t++){var g=(t-p)/(m-p),f=240*g,v=this._hsv2rgb(f,1,1);c.strokeStyle=v,c.beginPath(),c.moveTo(h,r+t),c.lineTo(a,r+t),c.stroke()}c.strokeStyle=this.colorAxis,c.strokeRect(h,r,i,n)}if(this.style===s.STYLE.DOTSIZE&&(c.strokeStyle=this.colorAxis,c.fillStyle=this.colorDot,c.beginPath(),c.moveTo(h,r),c.lineTo(a,r),c.lineTo(a-i+e,d),c.lineTo(h,d),c.closePath(),c.fill(),c.stroke()),this.style===s.STYLE.DOTCOLOR||this.style===s.STYLE.DOTSIZE){var y=5,b=new u(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,o=this._convert3Dto2D(new h(w,r,this.zMin)),Math.cos(2*x)>0?(f.textAlign="center",f.textBaseline="top",o.y+=b):Math.sin(2*x)<0?(f.textAlign="right",f.textBaseline="middle"):(f.textAlign="left",f.textBaseline="middle"),f.fillStyle=this.colorAxis,f.fillText(" "+i.getCurrent()+" ",o.x,o.y),i.next()}for(f.lineWidth=1,s=void 0===this.defaultYStep,i=new u(this.yMin,this.yMax,this.yStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,o=this._convert3Dto2D(new h(n,i.getCurrent(),this.zMin)),Math.cos(2*x)<0?(f.textAlign="center",f.textBaseline="top",o.y+=b):Math.sin(2*x)>0?(f.textAlign="right",f.textBaseline="middle"):(f.textAlign="left",f.textBaseline="middle"),f.fillStyle=this.colorAxis,f.fillText(" "+i.getCurrent()+" ",o.x,o.y),i.next();for(f.lineWidth=1,s=void 0===this.defaultZStep,i=new u(this.zMin,this.zMax,this.zStep,s),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(x)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new h(n,r,i.getCurrent())),f.strokeStyle=this.colorAxis,f.beginPath(),f.moveTo(t.x,t.y),f.lineTo(t.x-b,t.y),f.stroke(),f.textAlign="right",f.textBaseline="middle",f.fillStyle=this.colorAxis,f.fillText(i.getCurrent()+" ",t.x-5,t.y),i.next();f.lineWidth=1,t=this._convert3Dto2D(new h(n,r,this.zMin)),e=this._convert3Dto2D(new h(n,r,this.zMax)),f.strokeStyle=this.colorAxis,f.beginPath(),f.moveTo(t.x,t.y),f.lineTo(e.x,e.y),f.stroke(),f.lineWidth=1,p=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),m=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),f.strokeStyle=this.colorAxis,f.beginPath(),f.moveTo(p.x,p.y),f.lineTo(m.x,m.y),f.stroke(),p=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),m=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),f.strokeStyle=this.colorAxis,f.beginPath(),f.moveTo(p.x,p.y),f.lineTo(m.x,m.y),f.stroke(),f.lineWidth=1,t=this._convert3Dto2D(new h(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMin,this.yMax,this.zMin)),f.strokeStyle=this.colorAxis,f.beginPath(),f.moveTo(t.x,t.y),f.lineTo(e.x,e.y),f.stroke(),t=this._convert3Dto2D(new h(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new h(this.xMax,this.yMax,this.zMin)),f.strokeStyle=this.colorAxis,f.beginPath(),f.moveTo(t.x,t.y),f.lineTo(e.x,e.y),f.stroke();var _=this.xLabel;_.length>0&&(c=.1/this.scale.y,n=(this.xMin+this.xMax)/2,r=Math.cos(x)>0?this.yMin-c:this.yMax+c,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*x)>0?(f.textAlign="center",f.textBaseline="top"):Math.sin(2*x)<0?(f.textAlign="right",f.textBaseline="middle"):(f.textAlign="left",f.textBaseline="middle"),f.fillStyle=this.colorAxis,f.fillText(_,o.x,o.y));var S=this.yLabel;S.length>0&&(l=.1/this.scale.x,n=Math.sin(x)>0?this.xMin-l:this.xMax+l,r=(this.yMin+this.yMax)/2,o=this._convert3Dto2D(new h(n,r,this.zMin)),Math.cos(2*x)<0?(f.textAlign="center",f.textBaseline="top"):Math.sin(2*x)>0?(f.textAlign="right",f.textBaseline="middle"):(f.textAlign="left",f.textBaseline="middle"),f.fillStyle=this.colorAxis,f.fillText(S,o.x,o.y));var C=this.zLabel;C.length>0&&(d=30,n=Math.cos(x)>0?this.xMin:this.xMax,r=Math.sin(x)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,o=this._convert3Dto2D(new h(n,r,a)),f.textAlign="right",f.textBaseline="middle",f.fillStyle=this.colorAxis,f.fillText(C,o.x-d,o.y))},s.prototype._hsv2rgb=function(t,e,i){var s,o,n,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:s=r,o=h,n=0;break;case 1:s=h,o=r,n=0;break;case 2:s=0,o=r,n=h;break;case 3:s=0,o=h,n=r;break;case 4:s=h,o=0,n=r;break;case 5:s=r,o=0,n=h;break;default:s=0,o=0,n=0}return"RGB("+parseInt(255*s)+","+parseInt(255*o)+","+parseInt(255*n)+")"},s.prototype._redrawDataGrid=function(){var t,e,i,o,n,r,a,d,l,c,p,u,m,g=this.frame.canvas,f=g.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(n=0;n0}else r=!0;r?(m=(t.point.z+e.point.z+i.point.z+o.point.z)/4,c=240*(1-(m-this.zMin)*this.scale.z/this.verticalRatio),p=1,this.showShadow?(u=Math.min(1+S.x/C/2,1),a=this._hsv2rgb(c,p,u),d=a):(u=1,a=this._hsv2rgb(c,p,u),d=this.colorAxis)):(a="gray",d=this.colorAxis),l=.5,f.lineWidth=l,f.fillStyle=a,f.strokeStyle=d,f.beginPath(),f.moveTo(t.screen.x,t.screen.y),f.lineTo(e.screen.x,e.screen.y),f.lineTo(o.screen.x,o.screen.y),f.lineTo(i.screen.x,i.screen.y),f.closePath(),f.fill(),f.stroke()}}else for(n=0;np&&(p=0);var u,m,g;this.style===s.STYLE.DOTCOLOR?(u=240*(1-(d.point.value-this.valueMin)*this.scale.value),m=this._hsv2rgb(u,1,1),g=this._hsv2rgb(u,1,.8)):this.style===s.STYLE.DOTSIZE?(m=this.colorDot,g=this.colorDotBorder):(u=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),m=this._hsv2rgb(u,1,1),g=this._hsv2rgb(u,1,.8)),i.lineWidth=1,i.strokeStyle=g,i.fillStyle=m,i.beginPath(),i.arc(d.screen.x,d.screen.y,p,0,2*Math.PI,!0),i.fill(),i.stroke()}}},s.prototype._redrawDataBar=function(){var t,e,i,o,n=this.frame.canvas,r=n.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],s.lineWidth=1,s.strokeStyle="blue",s.beginPath(),s.moveTo(t.screen.x,t.screen.y)),e=1;e0&&s.stroke()}},s.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=getMouseX(t),this.startMouseY=getMouseY(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},a.addEventListener(document,"mousemove",e.onmousemove),a.addEventListener(document,"mouseup",e.onmouseup),a.preventDefault(t)}},s.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(getMouseX(t))-this.startMouseX,i=parseFloat(getMouseY(t))-this.startMouseY,s=this.startArmRotation.horizontal+e/200,o=this.startArmRotation.vertical+i/200,n=4,r=Math.sin(n/360*2*Math.PI);Math.abs(Math.sin(s))0?1:0>t?-1:0}var s=e[0],o=e[1],n=e[2],r=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x)),a=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),h=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},s.prototype._dataPointFromXY=function(t,e){var i,o=100,n=null,r=null,a=null,h=new d(t,e);if(this.style===s.STYLE.BAR||this.style===s.STYLE.BARCOLOR||this.style===s.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var l=n.surfaces;if(l)for(var c=l.length-1;c>=0;c--){var p=l[c],u=p.corners,m=[u[0].screen,u[1].screen,u[2].screen],g=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(h,m)||this._insideTriangle(h,g))return n}}else for(i=0;ib)&&o>b&&(a=b,r=n)}}return r},s.prototype._showTooltip=function(t){var e,i,s;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,s=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",s=document.createElement("div"),s.style.position="absolute",s.style.height="0",s.style.width="0",s.style.border="5px solid #4d4d4d",s.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:s}}),this._hideTooltip(),this.tooltip.dataPoint=t,e.innerHTML="function"==typeof this.showTooltip?this.showTooltip(t.point):"
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(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),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-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.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)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(9);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.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()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.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=Camera},function(t,e,i){function s(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 o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.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 s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},s.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},s.prototype.setIndex=function(t){if(!(ts&&(s=0),s>this.values.length-1&&(s=this.values.length-1),s},s.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,s=i+3;return s},s.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,s=this.leftToIndex(i);this.setIndex(s),o.preventDefault()},s.prototype._onMouseUp=function(){this.frame.style.cursor="auto",o.removeEventListener(document,"mousemove",this.onmousemove),o.removeEventListener(document,"mouseup",this.onmouseup),o.preventDefault()},t.exports=s},function(t){function e(t,e,i,s){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,s)}e.prototype.setRange=function(t,e,i,s){this._start=t?t:0,this._end=e?e:0,this.setStep(i,s)},e.prototype.setStep=function(t,i){void 0===t||0>=t||(void 0!==i&&(this.prettyStep=i),this._step=this.prettyStep===!0?e.calculatePrettyStep(t):t)},e.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),s=2*Math.pow(10,Math.round(e(t/2))),o=5*Math.pow(10,Math.round(e(t/5))),n=i;return Math.abs(s-t)<=Math.abs(n-t)&&(n=s),Math.abs(o-t)<=Math.abs(n-t)&&(n=o),0>=n&&(n=1),n},e.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},e.prototype.getStep=function(){return this._step},e.prototype.start=function(){this._current=this._start-this._start%this._step},e.prototype.next=function(){this._current+=this._step},e.prototype.end=function(){return this._current>this._end},t.exports=e},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");var o=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:"bottom",width:null,height:null,maxHeight:null,minHeight:null},this.options=r.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)},util:{snap:null,toScreen:o._toScreen.bind(o),toGlobalScreen:o._toGlobalScreen.bind(o),toTime:o._toTime.bind(o),toGlobalTime:o._toGlobalTime.bind(o)}},this.range=new d(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new l(this.body),this.components.push(this.timeAxis),this.body.util.snap=this.timeAxis.snap.bind(this.timeAxis),this.currentTime=new c(this.body),this.components.push(this.currentTime),this.customTime=new p(this.body),this.components.push(this.customTime),this.itemSet=new u(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,i&&this.setOptions(i),e?this.setItems(e):this.redraw()}var o=i(46),n=i(40),r=i(1),a=i(3),h=i(4),d=i(15),l=i(27),c=i(19),p=i(20),u=i(24);o(s.prototype),s.prototype._create=function(t){this.dom={},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.background.className="vispanel background",this.dom.backgroundVertical.className="vispanel background vertical",this.dom.backgroundHorizontal.className="vispanel background horizontal",this.dom.centerContainer.className="vispanel center",this.dom.leftContainer.className="vispanel left",this.dom.rightContainer.className="vispanel right",this.dom.top.className="vispanel top",this.dom.bottom.className="vispanel bottom",this.dom.left.className="content",this.dom.center.className="content",this.dom.right.className="content",this.dom.shadowTop.className="shadow top",this.dom.shadowBottom.className="shadow bottom",this.dom.shadowTopLeft.className="shadow top",this.dom.shadowBottomLeft.className="shadow bottom",this.dom.shadowTopRight.className="shadow top",this.dom.shadowBottomRight.className="shadow bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("change",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pinch",this._onPinch.bind(this)),this.on("dragstart",this._onDragStart.bind(this)),this.on("drag",this._onDrag.bind(this)),this.hammer=n(this.dom.root,{prevent_default:!0}),this.listeners={};var e=this,i=["touch","pinch","tap","doubletap","hold","dragstart","drag","dragend","mousewheel","DOMMouseScroll"];if(i.forEach(function(t){var i=function(){var i=[t].concat(Array.prototype.slice.call(arguments,0));e.emit.apply(e,i)};e.hammer.on(t,i),e.listeners[t]=i}),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.touch={},!t)throw new Error("No container provided");t.appendChild(this.dom.root)},s.prototype.destroy=function(){this.clear(),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null;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){t.destroy()}),this.body=null},s.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","orientation"];r.selectiveExtend(e,this.options,t),this._initAutoResize()}if(this.components.forEach(function(e){e.setOptions(t)}),t&&t.order)throw new Error("Option order is deprecated. There is no replacement for this feature.");this.redraw()},s.prototype.setCustomTime=function(t){if(!this.customTime)throw new Error("Cannot get custom time: Custom time bar is not enabled");this.customTime.setCustomTime(t)},s.prototype.getCustomTime=function(){if(!this.customTime)throw new Error("Cannot get custom time: Custom time bar is not enabled");return this.customTime.getCustomTime()},s.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof a||t instanceof h?t:new a(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i&&("start"in this.options||"end"in this.options)){this.fit();var s="start"in this.options?r.convert(this.options.start,"Date"):null,o="end"in this.options?r.convert(this.options.end,"Date"):null;this.setWindow(s,o)}},s.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},s.prototype.setGroups=function(t){var e;e=t?t instanceof a||t instanceof h?t:new a(t):null,this.groupsData=e,this.itemSet.setGroups(e)},s.prototype.clear=function(t){(!t||t.items)&&this.setItems(null),(!t||t.groups)&&this.setGroups(null),(!t||t.options)&&(this.components.forEach(function(t){t.setOptions(t.defaultOptions)}),this.setOptions(this.defaultOptions))},s.prototype.fit=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var s=i.valueOf()-e.valueOf();0>=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}(null!==e||null!==i)&&this.range.setRange(e,i)},s.prototype.getItemRange=function(){var t=this.itemsData.getDataSet(),e=null,i=null;if(t){var s=t.min("start");e=s?r.convert(s.start,"Date").valueOf():null;var o=t.max("start");o&&(i=r.convert(o.start,"Date").valueOf());var n=t.max("end");n&&(i=null==i?r.convert(n.end,"Date").valueOf():Math.max(i,r.convert(n.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},s.prototype.setSelection=function(t){this.itemSet&&this.itemSet.setSelection(t)},s.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},s.prototype.setWindow=function(t,e){if(1==arguments.length){var i=arguments[0];this.range.setRange(i.start,i.end)}else this.range.setRange(t,e)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){s.root.className="vis timeline root "+e.orientation,s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var d=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var l=i.root.width-i.left.width-i.right.width-n;i.center.width=l,i.centerContainer.width=l,i.top.width=l,i.bottom.width=l,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontal.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"bottom"==e.orientation&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=c+"px",s.left.style.left="0",s.left.style.top=c+"px",s.right.style.left="0",s.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",u=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=p,s.shadowBottom.style.visibility=u,s.shadowTopLeft.style.visibility=p,s.shadowBottomLeft.style.visibility=u,s.shadowTopRight.style.visibility=p,s.shadowBottomRight.style.visibility=u,this.components.forEach(function(e){t=e.redraw()||t}),t&&this.redraw()}},s.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},s.prototype._toTime=function(t){var e=this.range.conversion(this.props.center.width);return new Date(t/e.scale+e.offset)},s.prototype._toGlobalTime=function(t){var e=this.range.conversion(this.props.root.width);return new Date(t/e.scale+e.offset)},s.prototype._toScreen=function(t){var e=this.range.conversion(this.props.center.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._toGlobalScreen=function(t){var e=this.range.conversion(this.props.root.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},s.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){return 1!=t.options.autoResize?void t._stopAutoResize():void(t.dom.root&&(t.dom.root.clientWidth!=t.props.lastWidth||t.dom.root.clientHeight!=t.props.lastHeight)&&(t.props.lastWidth=t.dom.root.clientWidth,t.props.lastHeight=t.dom.root.clientHeight,t.emit("change")))},r.addEventListener(window,"resize",this._onResize),this.watchTimer=setInterval(this._onResize,1e3)},s.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),r.removeEventListener(window,"resize",this._onResize),this._onResize=null},s.prototype._onTouch=function(){this.touch.allowDragging=!0},s.prototype._onPinch=function(){this.touch.allowDragging=!1},s.prototype._onDragStart=function(){this.touch.initialScrollTop=this.props.scrollTop},s.prototype._onDrag=function(t){if(this.touch.allowDragging){var e=t.gesture.deltaY,i=this._getScrollTop(),s=this._setScrollTop(this.touch.initialScrollTop+e);s!=i&&this.redraw()}},s.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},s.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("bottom"==this.options.orientation&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTop=s&&(s=864e5),e=new Date(e.valueOf()-.05*s),i=new Date(i.valueOf()+.05*s)}(null!==e||null!==i)&&this.range.setRange(e,i)},s.prototype.getItemRange=function(){var t=this.itemsData,e=null,i=null;if(t){var s=t.min("start");e=s?r.convert(s.start,"Date").valueOf():null;var o=t.max("start");o&&(i=r.convert(o.start,"Date").valueOf());var n=t.max("end");n&&(i=null==i?r.convert(n.end,"Date").valueOf():Math.max(i,r.convert(n.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},s.prototype.setWindow=function(t,e){if(1==arguments.length){var i=arguments[0];this.range.setRange(i.start,i.end)}else this.range.setRange(t,e)},s.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},s.prototype.redraw=function(){var t=!1,e=this.options,i=this.props,s=this.dom;if(s){s.root.className="vis timeline root "+e.orientation,s.root.style.maxHeight=r.option.asSize(e.maxHeight,""),s.root.style.minHeight=r.option.asSize(e.minHeight,""),s.root.style.width=r.option.asSize(e.width,""),i.border.left=(s.centerContainer.offsetWidth-s.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(s.centerContainer.offsetHeight-s.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var o=s.root.offsetHeight-s.root.clientHeight,n=s.root.offsetWidth-s.root.clientWidth;i.center.height=s.center.offsetHeight,i.left.height=s.left.offsetHeight,i.right.height=s.right.offsetHeight,i.top.height=s.top.clientHeight||-i.border.top,i.bottom.height=s.bottom.clientHeight||-i.border.bottom;var a=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+a+i.bottom.height+o+i.border.top+i.border.bottom;s.root.style.height=r.option.asSize(e.height,h+"px"),i.root.height=s.root.offsetHeight,i.background.height=i.root.height-o;var d=i.root.height-i.top.height-i.bottom.height-o;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=s.root.offsetWidth,i.background.width=i.root.width-n,i.left.width=s.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=s.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var l=i.root.width-i.left.width-i.right.width-n;i.center.width=l,i.centerContainer.width=l,i.top.width=l,i.bottom.width=l,s.background.style.height=i.background.height+"px",s.backgroundVertical.style.height=i.background.height+"px",s.backgroundHorizontalContainer.style.height=i.centerContainer.height+"px",s.centerContainer.style.height=i.centerContainer.height+"px",s.leftContainer.style.height=i.leftContainer.height+"px",s.rightContainer.style.height=i.rightContainer.height+"px",s.background.style.width=i.background.width+"px",s.backgroundVertical.style.width=i.centerContainer.width+"px",s.backgroundHorizontalContainer.style.width=i.background.width+"px",s.backgroundHorizontal.style.width=i.background.width+"px",s.centerContainer.style.width=i.center.width+"px",s.top.style.width=i.top.width+"px",s.bottom.style.width=i.bottom.width+"px",s.background.style.left="0",s.background.style.top="0",s.backgroundVertical.style.left=i.left.width+"px",s.backgroundVertical.style.top="0",s.backgroundHorizontalContainer.style.left="0",s.backgroundHorizontalContainer.style.top=i.top.height+"px",s.centerContainer.style.left=i.left.width+"px",s.centerContainer.style.top=i.top.height+"px",s.leftContainer.style.left="0",s.leftContainer.style.top=i.top.height+"px",s.rightContainer.style.left=i.left.width+i.center.width+"px",s.rightContainer.style.top=i.top.height+"px",s.top.style.left=i.left.width+"px",s.top.style.top="0",s.bottom.style.left=i.left.width+"px",s.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"bottom"==e.orientation&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),s.center.style.left="0",s.center.style.top=c+"px",s.backgroundHorizontal.style.left="0",s.backgroundHorizontal.style.top=c+"px",s.left.style.left="0",s.left.style.top=c+"px",s.right.style.left="0",s.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",u=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";s.shadowTop.style.visibility=p,s.shadowBottom.style.visibility=u,s.shadowTopLeft.style.visibility=p,s.shadowBottomLeft.style.visibility=u,s.shadowTopRight.style.visibility=p,s.shadowBottomRight.style.visibility=u,this.components.forEach(function(e){t=e.redraw()||t}),t&&this.redraw()}},s.prototype._toTime=function(t){var e=this.range.conversion(this.props.center.width);return new Date(t/e.scale+e.offset)},s.prototype._toGlobalTime=function(t){var e=this.range.conversion(this.props.root.width);return new Date(t/e.scale+e.offset)},s.prototype._toScreen=function(t){var e=this.range.conversion(this.props.center.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._toGlobalScreen=function(t){var e=this.range.conversion(this.props.root.width);return(t.valueOf()-e.offset)*e.scale},s.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},s.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){return 1!=t.options.autoResize?void t._stopAutoResize():void(t.dom.root&&(t.dom.root.clientWidth!=t.props.lastWidth||t.dom.root.clientHeight!=t.props.lastHeight)&&(t.props.lastWidth=t.dom.root.clientWidth,t.props.lastHeight=t.dom.root.clientHeight,t.emit("change")))},r.addEventListener(window,"resize",this._onResize),this.watchTimer=setInterval(this._onResize,1e3)},s.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),r.removeEventListener(window,"resize",this._onResize),this._onResize=null},s.prototype._onTouch=function(){this.touch.allowDragging=!0},s.prototype._onPinch=function(){this.touch.allowDragging=!1},s.prototype._onDragStart=function(){this.touch.initialScrollTop=this.props.scrollTop},s.prototype._onDrag=function(t){if(this.touch.allowDragging){var e=t.gesture.deltaY,i=this._getScrollTop(),s=this._setScrollTop(this.touch.initialScrollTop+e);s!=i&&this.redraw()}},s.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},s.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("bottom"==this.options.orientation&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTopn&&(h=n);for(var d=!1,l=h;Math.abs(l)<=Math.abs(n);l++){a=Math.pow(10,l);for(var c=0;c=o){d=!0,r=c;break}}if(1==d)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},e.prototype.first=function(){this.setFirst()},e.prototype.setFirst=function(){var t=this._start-this.scale*this.minorSteps[this.stepIndex],e=this._end+this.scale*this.minorSteps[this.stepIndex];this.marginEnd=this.roundToMinor(e),this.marginStart=this.roundToMinor(t),this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},e.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},e.prototype.hasNext=function(){return this.current>=this.marginStart},e.prototype.next=function(){var t=this.current;this.current-=this.step,this.current==t&&(this.current=this._end)},e.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},e.prototype.getCurrent=function(){for(var t=""+Number(this.current).toPrecision(5),e=t.length-1;e>0;e--){if("0"!=t[e]){if("."==t[e]||","==t[e]){t=t.slice(0,e);break}break}t=t.slice(0,e)}return t},e.prototype.snap=function(){},e.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])==0},t.exports=e},function(t,e,i){function s(t,e){var i=h().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add("days",-3).valueOf(),this.end=i.clone().add("days",4).valueOf(),this.body=t,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.body.emitter.on("dragstart",this._onDragStart.bind(this)),this.body.emitter.on("drag",this._onDrag.bind(this)),this.body.emitter.on("dragend",this._onDragEnd.bind(this)),this.body.emitter.on("hold",this._onHold.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("DOMMouseScroll",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 o(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function n(t,e){return{x:t.pageX-r.getAbsoluteLeft(e),y:t.pageY-r.getAbsoluteTop(e)}}var r=i(1),a=i(43),h=i(39),d=i(18);s.prototype=new d,s.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},s.prototype.setRange=function(t,e){var i=this._applyRange(t,e);if(i){var s={start:new Date(this.start),end:new Date(this.end)};this.body.emitter.emit("rangechange",s),this.body.emitter.emit("rangechanged",s)}},s.prototype._applyRange=function(t,e){var i,s=null!=t?r.convert(t,"Date").valueOf():this.start,o=null!=e?r.convert(e,"Date").valueOf():this.end,n=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(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(o)||null===o)throw new Error('Invalid end "'+e+'"');if(s>o&&(o=s),null!==a&&a>s&&(i=a-s,s+=i,o+=i,null!=n&&o>n&&(o=n)),null!==n&&o>n&&(i=o-n,s-=i,o-=i,null!=a&&a>s&&(s=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>o-s&&(this.end-this.start===h?(s=this.start,o=this.end):(i=h-(o-s),s-=i/2,o+=i/2))}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);0>d&&(d=0),o-s>d&&(this.end-this.start===d?(s=this.start,o=this.end):(i=o-s-d,s+=i/2,o-=i/2))}var l=this.start!=s||this.end!=o;return this.start=s,this.end=o,l},s.prototype.getRange=function(){return{start:this.start,end:this.end}},s.prototype.conversion=function(t){return s.conversion(this.start,this.end,t)},s.conversion=function(t,e,i){return 0!=i&&e-t!=0?{offset:t,scale:i/(e-t)}:{offset:0,scale:1}},s.prototype._onDragStart=function(){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},s.prototype._onDrag=function(t){if(this.options.moveable){var e=this.options.direction;if(o(e),this.props.touch.allowDragging){var i="horizontal"==e?t.gesture.deltaX:t.gesture.deltaY,s=this.props.touch.end-this.props.touch.start,n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,r=-i/n*s;this._applyRange(this.props.touch.start+r,this.props.touch.end+r),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end)})}}},s.prototype._onDragEnd=function(){this.options.moveable&&this.props.touch.allowDragging&&(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)}))},s.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){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 s=a.fakeGesture(this,t),o=n(s.center,this.body.dom.center),r=this._pointerToDate(o);this.zoom(i,r)}t.preventDefault()}},s.prototype._onTouch=function(){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null},s.prototype._onHold=function(){this.props.touch.allowDragging=!1},s.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable&&(this.props.touch.allowDragging=!1,t.gesture.touches.length>1)){this.props.touch.center||(this.props.touch.center=n(t.gesture.center,this.body.dom.center));var e=1/t.gesture.scale,i=this._pointerToDate(this.props.touch.center),s=parseInt(i+(this.props.touch.start-i)*e),o=parseInt(i+(this.props.touch.end-i)*e);this.setRange(s,o)}},s.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(o(i),"horizontal"==i){var s=this.body.domProps.center.width;return e=this.conversion(s),t.x/e.scale+e.offset}var n=this.body.domProps.center.height;return e=this.conversion(n),t.y/e.scale+e.offset},s.prototype.zoom=function(t,e){null==e&&(e=(this.start+this.end)/2);var i=e+(this.start-e)*t,s=e+(this.end-e)*t;this.setRange(i,s)},s.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},s.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,o=this.end-i;this.setRange(s,o)},t.exports=s},function(t,e){var i=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,s="end"in e.data?e.data.end:e.data.start;return i-s})},e.stack=function(t,i,s){var o,n;if(s)for(o=0,n=t.length;n>o;o++)t[o].top=null;for(o=0,n=t.length;n>o;o++){var r=t[o];if(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&&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){var i,s;for(i=0,s=t.length;s>i;i++)t[i].top=e.axis},e.collision=function(t,e,s){return t.left-s.horizontal+ie.left&&t.top-s.vertical+ie.top}},function(t,e,i){function s(t,e,i){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale=s.SCALE.DAY,this.step=1,this.setRange(t,e,i)}var o=i(39);s.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8},s.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?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},s.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},s.prototype.roundToMinor=function(){switch(this.scale){case s.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case s.SCALE.MONTH:this.current.setDate(1);case s.SCALE.DAY:case s.SCALE.WEEKDAY:this.current.setHours(0);case s.SCALE.HOUR:this.current.setMinutes(0);case s.SCALE.MINUTE:this.current.setSeconds(0);case s.SCALE.SECOND:this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},s.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},s.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current=new Date(this.current.valueOf()+1e3*this.step);break;case s.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case s.SCALE.HOUR:this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case s.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case s.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case s.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case s.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case s.SCALE.WEEKDAY:case s.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case s.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case s.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case s.SCALE.MILLISECOND:this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},s.prototype.setAutoScale=function(t){this.autoScale=t},s.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,r=6e4,a=1e3,h=1;1e3*e>t&&(this.scale=s.SCALE.YEAR,this.step=1e3),500*e>t&&(this.scale=s.SCALE.YEAR,this.step=500),100*e>t&&(this.scale=s.SCALE.YEAR,this.step=100),50*e>t&&(this.scale=s.SCALE.YEAR,this.step=50),10*e>t&&(this.scale=s.SCALE.YEAR,this.step=10),5*e>t&&(this.scale=s.SCALE.YEAR,this.step=5),e>t&&(this.scale=s.SCALE.YEAR,this.step=1),3*i>t&&(this.scale=s.SCALE.MONTH,this.step=3),i>t&&(this.scale=s.SCALE.MONTH,this.step=1),5*o>t&&(this.scale=s.SCALE.DAY,this.step=5),2*o>t&&(this.scale=s.SCALE.DAY,this.step=2),o>t&&(this.scale=s.SCALE.DAY,this.step=1),o/2>t&&(this.scale=s.SCALE.WEEKDAY,this.step=1),4*n>t&&(this.scale=s.SCALE.HOUR,this.step=4),n>t&&(this.scale=s.SCALE.HOUR,this.step=1),15*r>t&&(this.scale=s.SCALE.MINUTE,this.step=15),10*r>t&&(this.scale=s.SCALE.MINUTE,this.step=10),5*r>t&&(this.scale=s.SCALE.MINUTE,this.step=5),r>t&&(this.scale=s.SCALE.MINUTE,this.step=1),15*a>t&&(this.scale=s.SCALE.SECOND,this.step=15),10*a>t&&(this.scale=s.SCALE.SECOND,this.step=10),5*a>t&&(this.scale=s.SCALE.SECOND,this.step=5),a>t&&(this.scale=s.SCALE.SECOND,this.step=1),200*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=200),100*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=100),50*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=50),10*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=10),5*h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=5),h>t&&(this.scale=s.SCALE.MILLISECOND,this.step=1)}},s.prototype.snap=function(t){var e=new Date(t.valueOf());if(this.scale==s.SCALE.YEAR){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MONTH)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if(this.scale==s.SCALE.DAY){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.WEEKDAY){switch(this.step){case 5:case 2:e.setHours(12*Math.round(e.getHours()/12));break;default:e.setHours(6*Math.round(e.getHours()/6))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.HOUR){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==s.SCALE.MINUTE){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if(this.scale==s.SCALE.SECOND)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if(this.scale==s.SCALE.MILLISECOND){var o=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/o)*o)}return e},s.prototype.isMajor=function(){switch(this.scale){case s.SCALE.MILLISECOND:return 0==this.current.getMilliseconds();case s.SCALE.SECOND:return 0==this.current.getSeconds();case s.SCALE.MINUTE:return 0==this.current.getHours()&&0==this.current.getMinutes();case s.SCALE.HOUR:return 0==this.current.getHours();case s.SCALE.WEEKDAY:case s.SCALE.DAY:return 1==this.current.getDate();case s.SCALE.MONTH:return 0==this.current.getMonth();case s.SCALE.YEAR:return!1;default:return!1}},s.prototype.getLabelMinor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("SSS");case s.SCALE.SECOND:return o(t).format("s");case s.SCALE.MINUTE:return o(t).format("HH:mm");case s.SCALE.HOUR:return o(t).format("HH:mm");case s.SCALE.WEEKDAY:return o(t).format("ddd D");case s.SCALE.DAY:return o(t).format("D");case s.SCALE.MONTH:return o(t).format("MMM");case s.SCALE.YEAR:return o(t).format("YYYY");default:return""}},s.prototype.getLabelMajor=function(t){switch(void 0==t&&(t=this.current),this.scale){case s.SCALE.MILLISECOND:return o(t).format("HH:mm:ss");case s.SCALE.SECOND:return o(t).format("D MMMM HH:mm");case s.SCALE.MINUTE:case s.SCALE.HOUR:return o(t).format("ddd D MMMM");case s.SCALE.WEEKDAY:case s.SCALE.DAY:return o(t).format("MMMM YYYY");case s.SCALE.MONTH:return o(t).format("YYYY");case s.SCALE.YEAR:return"";default:return""}},t.exports=s},function(t){function e(){this.options=null,this.props=null}e.prototype.setOptions=function(t){t&&util.extend(this.options,t)},e.prototype.redraw=function(){return!1},e.prototype.destroy=function(){},e.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=e},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0},this.options=o.extend({},this.defaultOptions),this._create(),this.setOptions(e)}var o=i(1),n=i(18);s.prototype=new n,s.prototype._create=function(){var t=document.createElement("div");t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},s.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},s.prototype.setOptions=function(t){t&&o.selectiveExtend(["showCurrentTime"],this.options,t)},s.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date,i=this.body.util.toScreen(e);this.bar.style.left=i+"px",this.bar.title="Current time: "+e}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},s.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,s=1/i/10;30>s&&(s=30),s>1e3&&(s=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,s)}var e=this;t()},s.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},t.exports=s},function(t,e,i){function s(t,e){this.body=t,this.defaultOptions={showCustomTime:!1},this.options=n.extend({},this.defaultOptions),this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var o=i(40),n=i(1),r=i(18);s.prototype=new r,s.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCustomTime"],this.options,t)},s.prototype._create=function(){var t=document.createElement("div");t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=o(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))},s.prototype.destroy=function(){this.options.showCustomTime=!1,this.redraw(),this.hammer.enable(!1),this.hammer=null,this.body=null},s.prototype.redraw=function(){if(this.options.showCustomTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime);this.bar.style.left=e+"px",this.bar.title="Time: "+this.customTime}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar);return!1},s.prototype.setCustomTime=function(t){this.customTime=new Date(t.valueOf()),this.redraw()},s.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},s.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},s.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=t.gesture.deltaX,i=this.body.util.toScreen(this.eventParams.customTime)+e,s=this.body.util.toTime(i);this.setCustomTime(s),this.body.emitter.emit("timechange",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault()}},s.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{time:new Date(this.customTime.valueOf())}),t.stopPropagation(),t.preventDefault())},t.exports=s},function(t,e,i){function s(t,e,i){this.id=o.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0},this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{}},this.dom={},this.range={start:0,end:0},this.options=o.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.stepPixels=25,this.stepPixelsForced=25,this.lineOffset=0,this.master=!0,this.svgElements={},this.groups={},this.amountOfGroups=0,this._create()}var o=i(1),n=i(2),r=i(18),a=i(14);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible"];o.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),1==e&&this.dom.frame&&(this.hide(),this.show())}},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,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.dom.frame.appendChild(this.svg)},s.prototype._redrawGroupIcons=function(){n.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,s=4,o=s+.5*i;t="left"==this.options.orientation?s:this.width-e-s;for(var r in this.groups)this.groups.hasOwnProperty(r)&&(this.groups[r].drawIcon(t,o,this.svgElements,this.svg,e,i),o+=i+s);n.cleanupElements(this.svgElements)},s.prototype.show=function(){this.dom.frame.parentNode||("left"==this.options.orientation?this.body.dom.left.appendChild(this.dom.frame):this.body.dom.right.appendChild(this.dom.frame)),this.dom.lineContainer.parentNode||this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.lineContainer.parentNode&&this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)},s.prototype.setRange=function(t,e){this.range.start=t,this.range.end=e},s.prototype.redraw=function(){var t=!1;if(0==this.amountOfGroups)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=1==this.options.visible?Number((""+this.options.width).replace("px","")):0;var e=this.props,i=this.dom.frame;i.className="dataaxis",this._calculateCharSize();var s=this.options.orientation,o=this.options.showMinorLabels,n=this.options.showMajorLabels;e.minorLabelHeight=o?e.minorCharHeight:0,e.majorLabelHeight=n?e.majorCharHeight:0,e.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,e.minorLineHeight=1,e.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,e.majorLineHeight=1,"left"==s?(i.style.top="0",i.style.left="0",i.style.bottom="",i.style.width=this.width+"px",i.style.height=this.height+"px"):(i.style.top="",i.style.bottom="0",i.style.left="0",i.style.width=this.width+"px",i.style.height=this.height+"px"),t=this._redrawLabels(),1==this.options.icons&&this._redrawGroupIcons()}return t},s.prototype._redrawLabels=function(){n.prepareElements(this.DOMelements);var t=this.options.orientation,e=this.master?this.props.majorCharHeight||10:this.stepPixelsForced,i=new a(this.range.start,this.range.end,e,this.dom.frame.offsetHeight);this.step=i,i.first();var s=this.dom.frame.offsetHeight/(i.marginRange/i.step+1);this.stepPixels=s;var o=this.height/s,r=0;if(0==this.master){s=this.stepPixelsForced,r=Math.round(this.height/s-o);for(var h=0;.5*r>h;h++)i.previous();o=this.height/s}this.valueAtZero=i.marginEnd;var d=0,l=1;i.next(),this.maxLabelSize=0;for(var c=0;l=0&&this._redrawLabel(c-2,i.getCurrent(),t,"yAxis major",this.props.majorCharHeight),this._redrawLine(c,t,"grid horizontal major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(c,t,"grid horizontal minor",this.options.minorLinesOffset,this.props.minorLineWidth),i.next(),l++}this.conversionFactor=d/((o-1)*i.step);var u=1==this.options.icons?this.options.iconWidth+this.options.labelOffsetX+15:this.options.labelOffsetX+15;return this.maxLabelSize>this.width-u&&1==this.options.visible?(this.width=this.maxLabelSize+u,this.options.width=this.width+"px",n.cleanupElements(this.DOMelements),this.redraw(),!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+u),this.options.width=this.width+"px",n.cleanupElements(this.DOMelements),this.redraw(),!0):(n.cleanupElements(this.DOMelements),!1)},s.prototype._redrawLabel=function(t,e,i,s,o){var r=n.getDOMElement("div",this.DOMelements,this.dom.frame);r.className=s,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*o+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizee.axis){var c=d-e.axis;l-=c,o.forEach(h,function(t){t.top-=c})}a=l+e.item.vertical/2}else a=e.axis+e.item.vertical;a=Math.max(a,this.props.label.height);var p=this.dom.foreground;this.top=p.offsetTop,this.left=p.offsetLeft,this.width=p.offsetWidth,s=o.updateProperty(this,"height",a)||s,s=o.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||s,s=o.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||s,this.dom.background.style.height=a+"px",this.dom.foreground.style.height=a+"px",this.dom.label.style.height=a+"px";for(var u=0,m=this.visibleItems.length;m>u;u++){var g=this.visibleItems[u];g.repositionY()}return s},s.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)},s.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 s=this.dom.axis;s.parentNode&&s.parentNode.removeChild(s)},s.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),t instanceof r&&-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},s.prototype.remove=function(t){delete this.items[t.id],t.setParent(this.itemSet);var e=this.visibleItems.indexOf(t);-1!=e&&this.visibleItems.splice(e,1)},s.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},s.prototype.order=function(){var t=o.toArray(this.items);this.orderedItems.byStart=t,this.orderedItems.byEnd=this._constructByEndArray(t),n.orderByStart(this.orderedItems.byStart),n.orderByEnd(this.orderedItems.byEnd)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0)for(n=0;n=0&&!this._checkIfInvisible(t.byStart[n],r,i);n--);for(n=s+1;n=0&&!this._checkIfInvisible(t.byEnd[n],r,i);n--);for(n=a+1;ne;e++)s=this.selection[e],o=this.items[s],o&&o.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],o=this.items[s],o&&(this.selection.push(s),o.select())}},s.prototype.getSelection=function(){return this.selection.concat([])},s.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),s=[];for(var o in this.groups)if(this.groups.hasOwnProperty(o))for(var n=this.groups[o],r=n.visibleItems,a=0;ae&&s.push(h.id)}return s},s.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},s.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=n.option.asSize,s=this.options,o=s.orientation,r=!1,a=this.dom.frame,h=s.editable.updateTime||s.editable.updateGroup;a.className="itemset"+(h?" editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var c=this.stackDirty,p=this._firstGroup(),u={item:t.item,axis:t.axis},m={item:t.item,axis:t.item.vertical/2},g=0,f=t.axis+t.item.vertical;return n.forEach(this.groups,function(t){var i=t==p?u:m,s=t.redraw(e,i,c);r=s||r,g+=t.height}),g=Math.max(g,f),this.stackDirty=!1,a.style.height=i(g),this.props.top=a.offsetTop,this.props.left=a.offsetLeft,this.props.width=a.offsetWidth,this.props.height=g,this.dom.axis.style.top=i("top"==o?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=this.body.domProps.border.left+"px",r=this._isResized()||r},s.prototype._firstGroup=function(){var t="top"==this.options.orientation?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[u];return i||null},s.prototype._updateUngrouped=function(){var t=this.groups[u];if(this.groupsData)t&&(t.hide(),delete this.groups[u]);else if(!t){var e=null,i=null;t=new d(e,i,this),this.groups[u]=t;for(var s in this.items)this.items.hasOwnProperty(s)&&t.add(this.items[s]);t.show()}},s.prototype.getLabelSet=function(){return this.dom.labelSet},s.prototype.setItems=function(t){var e,i=this,s=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(s&&(n.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var o=this.id;n.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,o)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},s.prototype.getItems=function(){return this.itemsData},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(n.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(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 s=this.id;n.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change")},s.prototype.getGroups=function(){return this.groupsData},s.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)})},s.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),o=e.items[t],n=i.type||e.options.type||(i.end?"range":"box"),r=s.types[n];if(o&&(r&&o instanceof r?e._updateItem(o,i):(e._removeItem(o),o=null)),!o){if(!r)throw new TypeError("rangeoverflow"==n?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis.timeline .item.range .content {overflow: visible;}':'Unknown item type "'+n+'"');o=new r(i,e.conversion,e.options),o.id=t,e._addItem(o)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change")},s.prototype._onAdd=s.prototype._onUpdate,s.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var s=i.items[t];s&&(e++,i._removeItem(s))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change"))},s.prototype._order=function(){n.forEach(this.groups,function(t){t.order()})},s.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},s.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),s=e.groups[t];if(s)s.setData(i);else{if(t==u)throw new Error("Illegal group id. "+t+" is a reserved id.");var o=Object.create(e.options);n.extend(o,{height:null}),s=new d(t,i,e),e.groups[t]=s;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&s.add(a)}s.order(),s.show()}}),this.body.emitter.emit("change")},s.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")},s.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!n.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},s.prototype._addItem=function(t){this.items[t.id]=t;var e=this.groupsData?t.data.group:u,i=this.groups[e];i&&i.add(t)},s.prototype._updateItem=function(t,e){var i=t.data.group;if(t.data=e,t.displayed&&t.redraw(),i!=t.data.group){var s=this.groups[i];s&&s.remove(t);var o=this.groupsData?t.data.group:u,n=this.groups[o];n&&n.add(t)}},s.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);var i=this.groupsData?t.data.group:u,s=this.groups[i];s&&s.remove(t)},s.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:this.getSelection()}),t.stopPropagation()}},s.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.body.util.snap||null,o=s.itemFromTarget(t);if(o){var r=e.itemsData.get(o.id);this.options.onUpdate(r,function(t){t&&e.itemsData.update(t)})}else{var a=n.getAbsoluteLeft(this.dom.frame),h=t.gesture.center.pageX-a,d=this.body.util.toTime(h),l={start:i?i(d):d,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(h+this.props.width/5);l.end=i?i(c):c}l[this.itemsData.fieldId]=n.randomUUID();var p=s.groupFromTarget(t);p&&(l.group=p.groupId),this.options.onAdd(l,function(t){t&&e.itemsData.add(l)})}}},s.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=s.itemFromTarget(t);if(i){e=this.getSelection();var o=e.indexOf(i.id);-1==o?e.push(i.id):e.splice(o,1),this.setSelection(e),this.body.emitter.emit("select",{items:this.getSelection()}),t.stopPropagation()}}},s.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},s.groupFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-group"))return e["timeline-group"];e=e.parentNode}return null},s.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null},t.exports=s},function(t,e,i){function s(t,e,i){this.body=t,this.defaultOptions={enabled:!0,icons:!0,iconSize:20,iconSpacing:6,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-left"}},this.side=i,this.options=o.extend({},this.defaultOptions),this.svgElements={},this.dom={},this.groups={},this.amountOfGroups=0,this._create(),this.setOptions(e)}var o=i(1),n=i(2),r=i(18);s.prototype=new r,s.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},s.prototype.updateGroup=function(t,e){this.groups[t]=e},s.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},s.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.className="legend",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="legendText",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.style.position="absolute",this.svg.style.top="0px",this.svg.style.width=this.options.iconSize+5+"px",this.dom.frame.appendChild(this.svg),this.dom.frame.appendChild(this.dom.textArea)},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setOptions=function(t){var e=["enabled","orientation","icons","left","right"];o.selectiveDeepExtend(e,this.options,t)},s.prototype.redraw=function(){if(0==this.options[this.side].visible||0==this.amountOfGroups||0==this.options.enabled)this.hide();else{this.show(),"top-left"==this.options[this.side].position||"bottom-left"==this.options[this.side].position?(this.dom.frame.style.left="4px",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="0px",this.svg.style.right=""):(this.dom.frame.style.right="4px",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="0px",this.svg.style.left=""),"top-left"==this.options[this.side].position||"top-right"==this.options[this.side].position?(this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.bottom=""):(this.dom.frame.style.bottom=4-Number(this.body.dom.center.style.top.replace("px",""))+"px",this.dom.frame.style.top=""),0==this.options.icons?(this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+"px",this.dom.textArea.style.right="",this.dom.textArea.style.left="",this.svg.style.width="0px"):(this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+"px",this.drawLegendIcons());var t="";for(var e in this.groups)this.groups.hasOwnProperty(e)&&(t+=this.groups[e].content+"
");this.dom.textArea.innerHTML=t,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing);n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={};var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){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.body.emitter.on("rangechange",function(){if(0!=i.lastStart){var t=i.body.range.start-i.lastStart,e=i.body.range.end-i.body.range.start;if(0!=i.width){var s=i.width/e,o=t*s;i.svg.style.left=-i.width-o+"px"}}}),this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(18),d=i(21),l=i(22),c=i(25),p="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",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.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left"),this.legendRight=new c(this.body,this.options.legend,"right"),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setItems=function(t){var e,i=this,s=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(s&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(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 s=this.id;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;e0){for(s=0;su){e.push(f);break}e.push(f)}}else for(var g=0;gp&&f.x0){for(var p=0;pi?i:a,d=s>d?s:d):(r=!0,h=h>i?i:h,l=s>l?s:l)}1==n&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}return o=this._toggleAxisVisiblity(n,this.yAxisLeft)||o,o=this._toggleAxisVisiblity(r,this.yAxisRight)||o,1==r&&1==n?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!n,0==this.yAxisRight.master?(1==r&&(this.yAxisLeft.lineOffset=this.yAxisRight.width),o=this.yAxisLeft.redraw()||o,this.yAxisRight.stepPixelsForced=this.yAxisLeft.stepPixels,o=this.yAxisRight.redraw()||o):o=this.yAxisRight.redraw()||o,o},s.prototype._toggleAxisVisiblity=function(t,e){var i=!1; -return 0==t?e.dom.frame.parentNode&&(e.hide(),i=!0):e.dom.frame.parentNode||(e.show(),i=!0),i},s.prototype._drawBarGraph=function(t,e){if(null!=t&&t.length>0){var i,s=.1*e.options.barChart.width,o=0,r=e.options.barChart.width;"left"==e.options.barChart.align?o-=.5*r:"right"==e.options.barChart.align&&(o+=.5*r);for(var a=0;a0&&(i=Math.min(i,Math.abs(t[a-1].x-t[a].x))),r>i&&(r=s>i?s:i),n.drawBar(t[a].x+o,t[a].y,r,e.zeroPosition-t[a].y,e.className+" bar",this.svgElements,this.svg);1==e.options.drawPoints.enabled&&this._drawPoints(t,e,this.svgElements,this.svg,o)}},s.prototype._drawLineGraph=function(t,e){if(null!=t&&t.length>0){var i,s,o=Number(this.svg.style.height.replace("px",""));if(i=n.getSVGElement("path",this.svgElements,this.svg),i.setAttributeNS(null,"class",e.className),s=1==e.options.catmullRom.enabled?this._catmullRom(t,e):this._linear(t),1==e.options.shaded.enabled){var r,a=n.getSVGElement("path",this.svgElements,this.svg);r="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+s+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+o+" "+s+"L"+t[t.length-1].x+","+o,a.setAttributeNS(null,"class",e.className+" fill"),a.setAttributeNS(null,"d",r)}i.setAttributeNS(null,"d","M"+s),1==e.options.drawPoints.enabled&&this._drawPoints(t,e,this.svgElements,this.svg)}},s.prototype._drawPoints=function(t,e,i,s,o){void 0===o&&(o=0);for(var r=0;rp;p+=r)i=n(t[p].x)+this.width-1,s=t[p].y,o.push({x:i,y:s}),h=h>s?s:h,d=s>d?s:d;return{min:h,max:d,data:o}},s.prototype._convertYvalues=function(t,e){var i,s,o=[],n=this.yAxisLeft,r=Number(this.svg.style.height.replace("px",""));"right"==e.options.yAxisOrientation&&(n=this.yAxisRight);for(var a=0;al;l++)e=0==l?t[0]:t[l-1],i=t[l],s=t[l+1],o=d>l+2?t[l+2]:s,n={x:(-e.x+6*i.x+s.x)*h,y:(-e.y+6*i.y+s.y)*h},r={x:(i.x+6*s.x-o.x)*h,y:(i.y+6*s.y-o.y)*h},a+="C"+n.x+","+n.y+" "+r.x+","+r.y+" "+s.x+","+s.y+" ";return a},s.prototype._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var s,o,n,r,a,h,d,l,c,p,u,m,g,f,v,y,b,x,w,_=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",S=t.length,C=0;S-1>C;C++)s=0==C?t[0]:t[C-1],o=t[C],n=t[C+1],r=S>C+2?t[C+2]:n,d=Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2)),l=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),c=Math.sqrt(Math.pow(n.x-r.x,2)+Math.pow(n.y-r.y,2)),f=Math.pow(c,i),y=Math.pow(c,2*i),v=Math.pow(l,i),b=Math.pow(l,2*i),w=Math.pow(d,i),x=Math.pow(d,2*i),p=2*x+3*w*v+b,u=2*y+3*f*v+b,m=3*w*(w+v),m>0&&(m=1/m),g=3*f*(f+v),g>0&&(g=1/g),a={x:(-b*s.x+p*o.x+x*n.x)*m,y:(-b*s.y+p*o.y+x*n.y)*m},h={x:(y*o.x+u*n.x-b*r.x)*g,y:(y*o.y+u*n.y-b*r.y)*g},0==a.x&&0==a.y&&(a=o),0==h.x&&0==h.y&&(h=n),_+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+n.x+","+n.y+" ";return _},s.prototype._linear=function(t){for(var e="",i=0;id;){d++;var l=n.getCurrent(),c=this.body.util.toScreen(l),p=n.isMajor();this.options.showMinorLabels&&this._repaintMinorText(c,n.getLabelMinor(),t),p&&this.options.showMajorLabels?(c>0&&(void 0==h&&(h=c),this._repaintMajorText(c,n.getLabelMajor(),t)),this._repaintMajorLine(c,t)):this._repaintMinorLine(c,t),n.next()}if(this.options.showMajorLabels){var u=this.body.util.toTime(0),m=n.getLabelMajor(u),g=m.length*(this.props.majorCharWidth||10)+10;(void 0==h||h>g)&&this._repaintMajorText(0,m,t)}o.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},s.prototype._repaintMinorText=function(t,e,i){var s=this.dom.redundant.minorTexts.shift();if(!s){var o=document.createTextNode("");s=document.createElement("div"),s.appendChild(o),s.className="text minor",this.dom.foreground.appendChild(s)}this.dom.minorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?this.props.majorLabelHeight+"px":"0",s.style.left=t+"px"},s.prototype._repaintMajorText=function(t,e,i){var s=this.dom.redundant.majorTexts.shift();if(!s){var o=document.createTextNode(e);s=document.createElement("div"),s.className="text major",s.appendChild(o),this.dom.foreground.appendChild(s)}this.dom.majorTexts.push(s),s.childNodes[0].nodeValue=e,s.style.top="top"==i?"0":this.props.minorLabelHeight+"px",s.style.left=t+"px"},s.prototype._repaintMinorLine=function(t,e){var i=this.dom.redundant.minorLines.shift();i||(i=document.createElement("div"),i.className="grid vertical minor",this.dom.background.appendChild(i)),this.dom.minorLines.push(i);var s=this.props;i.style.top="top"==e?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",i.style.height=s.minorLineHeight+"px",i.style.left=t-s.minorLineWidth/2+"px"},s.prototype._repaintMajorLine=function(t,e){var i=this.dom.redundant.majorLines.shift();i||(i=document.createElement("DIV"),i.className="grid vertical major",this.dom.background.appendChild(i)),this.dom.majorLines.push(i);var s=this.props;i.style.top="top"==e?"0":this.body.domProps.top.height+"px",i.style.left=t-s.majorLineWidth/2+"px",i.style.height=s.majorLineHeight+"px"},s.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="text minor 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="text minor 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},s.prototype.snap=function(t){return this.step.snap(t)},t.exports=s},function(t,e,i){function s(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var o=i(40);s.prototype.select=function(){this.selected=!0,this.displayed&&this.redraw()},s.prototype.unselect=function(){this.selected=!1,this.displayed&&this.redraw()},s.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},s.prototype.isVisible=function(){return!1},s.prototype.show=function(){return!1},s.prototype.hide=function(){return!1},s.prototype.redraw=function(){},s.prototype.repositionX=function(){},s.prototype.repositionY=function(){},s.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="delete",i.title="Delete this item",o(i,{preventDefault:!0}).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},t.exports=s},function(t,e,i){function s(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);o.call(this,t,e,i)}var o=i(28);s.prototype=new o(null,null,null),s.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},s.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this),!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 time axis: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.data.content!=this.content){if(this.content=this.data.content,this.content instanceof Element)t.content.innerHTML="",t.content.appendChild(this.content);else{if(void 0==this.data.content)throw new Error('Property "content" missing in item '+this.data.id);t.content.innerHTML=this.content}this.dirty=!0}this.data.title!=this.title&&(t.box.title=this.data.title,this.title=this.data.title);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");this.className!=i&&(this.className=i,t.box.className=this.baseClassName+i,this.dirty=!0),this.dirty&&(this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dirty=!1),this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},s.prototype.show=function(){this.displayed||this.redraw()},s.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.top=null,this.left=null,this.displayed=!1}},s.prototype.repositionX=function(){var t,e=this.props,i=this.parent.width,s=this.conversion.toScreen(this.data.start),o=this.conversion.toScreen(this.data.end),n=this.options.padding;-i>s&&(s=-i),o>2*i&&(o=2*i);var r=Math.max(o-s,1);this.overflow?(t=Math.max(-s,0),this.left=s,this.width=r+this.props.content.width):(t=0>s?Math.min(-s,o-s-e.content.width-2*n):0,this.left=s,this.width=r),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.dom.content.style.left=t+"px"},s.prototype.repositionY=function(){var t=this.options.orientation,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},s.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),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)},s.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,o(t,{preventDefault:!0}).on("drag",function(){}),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=s},function(t,e,i){function s(t,e,i){if(!(this instanceof s))throw new SyntaxError("Constructor must be called with the new operator");this._initializeMixinLoaders(),this.containerElement=t,this.width="100%",this.height="100%",this.renderRefreshRate=60,this.renderTimestep=1e3/this.renderRefreshRate,this.renderTime=.5*this.renderTimestep,this.maxPhysicsTicksPerRender=3,this.physicsDiscreteStepsize=.5,this.stabilize=!0,this.selectable=!0,this.initializing=!0,this.triggerFunctions={add:null,edit:null,editEdge:null,connect:null,del:null},this.constants={nodes:{radiusMin:10,radiusMax:30,radius:10,shape:"ellipse",image:void 0,widthMin:16,widthMax:64,fixed:!1,fontColor:"black",fontSize:14,fontFace:"verdana",level:-1,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},borderColor:"#2B7CE9",backgroundColor:"#97C2FC",highlightColor:"#D2E5FF",group:void 0,borderWidth:1},edges:{widthMin:1,widthMax:15,width:1,widthSelectionMultiplier:2,hoverWidth:1.5,style:"line",color:{color:"#848484",highlight:"#848484",hover:"#848484"},fontColor:"#343434",fontSize:14,fontFace:"arial",fontFill:"white",arrowScaleFactor:1,dash:{length:10,gap:5,altLength:void 0},inheritColor:"from"},configurePhysics:!1,physics:{barnesHut:{enabled:!0,theta:1/.6,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09},repulsion:{centralGravity:0,springLength:200,springConstant:.05,nodeDistance:100,damping:.09},hierarchicalRepulsion:{enabled:!1,centralGravity:0,springLength:100,springConstant:.01,nodeDistance:150,damping:.09},damping:null,centralGravity:null,springLength:null,springConstant:null},clustering:{enabled:!1,initialMaxNodes:100,clusterThreshold:500,reduceToNodes:300,chainThreshold:.4,clusterEdgeThreshold:20,sectorThreshold:100,screenSizeThreshold:.2,fontSizeMultiplier:4,maxFontSize:1e3,forceAmplification:.1,distanceAmplification:.1,edgeGrowth:20,nodeScaling:{width:1,height:1,radius:1},maxNodeSizeIncrements:600,activeAreaBoxSize:80,clusterLevelDifference:2},navigation:{enabled:!1},keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02}},dataManipulation:{enabled:!1,initiallyVisible:!1},hierarchicalLayout:{enabled:!1,levelSeparation:150,nodeSpacing:100,direction:"UD"},freezeForStabilization:!1,smoothCurves:{enabled:!0,dynamic:!0,type:"continuous",roundness:.5},dynamicSmoothCurves:!0,maxVelocity:30,minVelocity:.1,stabilizationIterations:1e3,labels:{add:"Add Node",edit:"Edit",link:"Add Link",del:"Delete selected",editNode:"Edit Node",editEdge:"Edit Edge",back:"Back",addDescription:"Click in an empty space to place a new node.",linkDescription:"Click on a node and drag the edge to another node to connect them.",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",addError:"The function for add does not support two arguments (data,callback).",linkError:"The function for connect does not support two arguments (data,callback).",editError:"The function for edit does not support two arguments (data, callback).",editBoundError:"No edit function has been bound to this button.",deleteError:"The function for delete does not support two arguments (data, callback).",deleteClusterError:"Clusters cannot be deleted."},tooltip:{delay:300,fontColor:"black",fontSize:14,fontFace:"verdana",color:{border:"#666",background:"#FFFFC6"}},dragNetwork:!0,dragNodes:!0,zoomable:!0,hover:!1,hideEdgesOnDrag:!1,hideNodesOnDrag:!1},this.hoverObj={nodes:{},edges:{}},this.controlNodesActive=!1;var o=this;this.groups=new p,this.images=new u,this.images.setOnloadCallback(function(){o._redraw()}),this.xIncrement=0,this.yIncrement=0,this.zoomIncrement=0,this._loadPhysicsSystem(),this._create(),this._loadSectorSystem(),this._loadClusterSystem(),this._loadSelectionSystem(),this._loadHierarchySystem(),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this.setOptions(i),this.freezeSimulation=!1,this.cachedFunctions={},this.calculationNodes={},this.calculationNodeIndices=[],this.nodeIndices=[],this.nodes={},this.edges={},this.canvasTopLeft={x:0,y:0},this.canvasBottomRight={x:0,y:0},this.pointerPosition={x:0,y:0},this.areaCenter={},this.scale=1,this.previousScale=this.scale,this.nodesData=null,this.edgesData=null,this.nodesListeners={add:function(t,e){o._addNodes(e.items),o.start()},update:function(t,e){o._updateNodes(e.items),o.start()},remove:function(t,e){o._removeNodes(e.items),o.start()}},this.edgesListeners={add:function(t,e){o._addEdges(e.items),o.start()},update:function(t,e){o._updateEdges(e.items),o.start()},remove:function(t,e){o._removeEdges(e.items),o.start()}},this.moving=!0,this.timer=void 0,this.setData(e,this.constants.clustering.enabled||this.constants.hierarchicalLayout.enabled),this.initializing=!1,1==this.constants.hierarchicalLayout.enabled?this._setupHierarchicalLayout():0==this.stabilize&&this.zoomExtent(!0,this.constants.clustering.enabled),this.constants.clustering.enabled&&this.startWithClustering()}var o=i(46),n=i(40),r=i(47),a=i(1),h=i(43),d=i(3),l=i(4),c=i(38),p=i(34),u=i(35),m=i(36),g=i(33),f=i(37),v=i(45);i(44),o(s.prototype),s.prototype._getScriptPath=function(){for(var t=document.getElementsByTagName("script"),e=0;et.x&&(s=t.x),ot.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(o+142.05338)+91444e-8:12.662/(o+7.4147)+.0964822:1==this.constants.clustering.enabled&&o>=this.constants.clustering.initialMaxNodes?77.5271985/(o+187.266146)+476710517e-13:30.5062972/(o+19.93597763)+.08413486;var n=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);i*=n}else{var r=1.1*(Math.abs(s.minX)+Math.abs(s.maxX)),a=1.1*(Math.abs(s.minY)+Math.abs(s.maxY)),h=this.frame.canvas.clientWidth/r,d=this.frame.canvas.clientHeight/a;i=d>=h?h:d}i>1&&(i=1),this._setScale(i),this._centerNetwork(s),0==e&&(this.moving=!0,this.start())},s.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},s.prototype.setData=function(t,e){if(void 0===e&&(e=!1),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=c.DOTToGraph(t.dot);return void this.setData(i)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);if(this._putDataInSector(),!e)if(this.stabilize){var s=this;setTimeout(function(){s._stabilize(),s.start()},0)}else this.start()},s.prototype.setOptions=function(t){if(t){var e;if(void 0!==t.width&&(this.width=t.width),void 0!==t.height&&(this.height=t.height),void 0!==t.stabilize&&(this.stabilize=t.stabilize),void 0!==t.selectable&&(this.selectable=t.selectable),void 0!==t.freezeForStabilization&&(this.constants.freezeForStabilization=t.freezeForStabilization),void 0!==t.configurePhysics&&(this.constants.configurePhysics=t.configurePhysics),void 0!==t.stabilizationIterations&&(this.constants.stabilizationIterations=t.stabilizationIterations),void 0!==t.dragNetwork&&(this.constants.dragNetwork=t.dragNetwork),void 0!==t.dragNodes&&(this.constants.dragNodes=t.dragNodes),void 0!==t.zoomable&&(this.constants.zoomable=t.zoomable),void 0!==t.hover&&(this.constants.hover=t.hover),void 0!==t.hideEdgesOnDrag&&(this.constants.hideEdgesOnDrag=t.hideEdgesOnDrag),void 0!==t.hideNodesOnDrag&&(this.constants.hideNodesOnDrag=t.hideNodesOnDrag),void 0!==t.dragGraph)throw new Error("Option dragGraph is renamed to dragNetwork");if(void 0!==t.labels)for(e in t.labels)t.labels.hasOwnProperty(e)&&(this.constants.labels[e]=t.labels[e]);if(t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onEditEdge&&(this.triggerFunctions.editEdge=t.onEditEdge),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.del=t.onDelete),t.physics){if(t.physics.barnesHut){this.constants.physics.barnesHut.enabled=!0;for(e in t.physics.barnesHut)t.physics.barnesHut.hasOwnProperty(e)&&(this.constants.physics.barnesHut[e]=t.physics.barnesHut[e])}if(t.physics.repulsion){this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.repulsion)t.physics.repulsion.hasOwnProperty(e)&&(this.constants.physics.repulsion[e]=t.physics.repulsion[e])}if(t.physics.hierarchicalRepulsion){this.constants.hierarchicalLayout.enabled=!0,this.constants.physics.hierarchicalRepulsion.enabled=!0,this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.hierarchicalRepulsion)t.physics.hierarchicalRepulsion.hasOwnProperty(e)&&(this.constants.physics.hierarchicalRepulsion[e]=t.physics.hierarchicalRepulsion[e])}}if(void 0!==t.smoothCurves)if("boolean"==typeof t.smoothCurves)this.constants.smoothCurves.enabled=t.smoothCurves;else{this.constants.smoothCurves.enabled=!0;for(e in t.smoothCurves)t.smoothCurves.hasOwnProperty(e)&&(this.constants.smoothCurves[e]=t.smoothCurves[e])}if(t.hierarchicalLayout){this.constants.hierarchicalLayout.enabled=!0;for(e in t.hierarchicalLayout)t.hierarchicalLayout.hasOwnProperty(e)&&(this.constants.hierarchicalLayout[e]=t.hierarchicalLayout[e])}else void 0!==t.hierarchicalLayout&&(this.constants.hierarchicalLayout.enabled=!1);if(t.clustering){this.constants.clustering.enabled=!0;for(e in t.clustering)t.clustering.hasOwnProperty(e)&&(this.constants.clustering[e]=t.clustering[e])}else void 0!==t.clustering&&(this.constants.clustering.enabled=!1);if(t.navigation){this.constants.navigation.enabled=!0;for(e in t.navigation)t.navigation.hasOwnProperty(e)&&(this.constants.navigation[e]=t.navigation[e])}else void 0!==t.navigation&&(this.constants.navigation.enabled=!1);if(t.keyboard){this.constants.keyboard.enabled=!0;for(e in t.keyboard)t.keyboard.hasOwnProperty(e)&&(this.constants.keyboard[e]=t.keyboard[e])}else void 0!==t.keyboard&&(this.constants.keyboard.enabled=!1);if(t.dataManipulation){this.constants.dataManipulation.enabled=!0;for(e in t.dataManipulation)t.dataManipulation.hasOwnProperty(e)&&(this.constants.dataManipulation[e]=t.dataManipulation[e]);this.editMode=this.constants.dataManipulation.initiallyVisible}else void 0!==t.dataManipulation&&(this.constants.dataManipulation.enabled=!1);if(t.edges){for(e in t.edges)t.edges.hasOwnProperty(e)&&"object"!=typeof t.edges[e]&&(this.constants.edges[e]=t.edges[e]);void 0!==t.edges.color&&(a.isString(t.edges.color)?(this.constants.edges.color={},this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color,this.constants.edges.color.hover=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight),void 0!==t.edges.color.hover&&(this.constants.edges.color.hover=t.edges.color.hover))),t.edges.fontColor||void 0!==t.edges.color&&(a.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color)),t.edges.dash&&(void 0!==t.edges.dash.length&&(this.constants.edges.dash.length=t.edges.dash.length),void 0!==t.edges.dash.gap&&(this.constants.edges.dash.gap=t.edges.dash.gap),void 0!==t.edges.dash.altLength&&(this.constants.edges.dash.altLength=t.edges.dash.altLength)) -}if(t.nodes){for(e in t.nodes)t.nodes.hasOwnProperty(e)&&(this.constants.nodes[e]=t.nodes[e]);t.nodes.color&&(this.constants.nodes.color=a.parseColor(t.nodes.color))}if(t.groups)for(var i in t.groups)if(t.groups.hasOwnProperty(i)){var s=t.groups[i];this.groups.add(i,s)}if(t.tooltip){for(e in t.tooltip)t.tooltip.hasOwnProperty(e)&&(this.constants.tooltip[e]=t.tooltip[e]);t.tooltip.color&&(this.constants.tooltip.color=a.parseColor(t.tooltip.color))}}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.width,this.height),this.moving=!0,this.start()},s.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="network-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=n(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("release",e._onRelease.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.containerElement.appendChild(this.frame)},s.prototype._createKeyBinds=function(){var t=this;this.mousetrap=r,this.mousetrap.reset(),1==this.constants.keyboard.enabled&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",this._deleteSelected.bind(t)))},s.prototype._getPointer=function(t){return{x:t.pageX-a.getAbsoluteLeft(this.frame.canvas),y:t.pageY-a.getAbsoluteTop(this.frame.canvas)}},s.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},s.prototype._onDragStart=function(){this._handleDragStart()},s.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1);for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],o={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(o)}}},s.prototype._onDrag=function(t){this._handleOnDrag(t)},s.prototype._handleOnDrag=function(t){if(!this.drag.pinched){var e=this._getPointer(t.gesture.center),i=this,s=this.drag,o=s.selection;if(o&&o.length&&1==this.constants.dragNodes){var n=e.x-s.pointer.x,r=e.y-s.pointer.y;o.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._XconvertDOMtoCanvas(i._XconvertCanvasToDOM(t.x)+n)),t.yFixed||(e.y=i._YconvertDOMtoCanvas(i._YconvertCanvasToDOM(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else if(1==this.constants.dragNetwork){var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw()}}},s.prototype._onDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&(t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed}),this.moving=!0,this.start()),this._redraw()},s.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},s.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},s.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},s.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},s.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},s.prototype._zoom=function(t,e){if(1==this.constants.zoomable){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=null;void 0!==this.drag&&1==this.drag.dragging&&(s=this.DOMtoCanvas(this.drag.pointer));var o=this._getTranslation(),n=t/i,r=(1-n)*e.x+o.x*n,a=(1-n)*e.y+o.y*n;if(this.areaCenter={x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)},this._setScale(t),this._setTranslation(r,a),this.updateClustersDefault(),null!=s){var h=this.canvasToDOM(s);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}return this._redraw(),t>i?this.emit("zoom",{direction:"+"}):this.emit("zoom",{direction:"-"}),t}},s.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var o=h.fakeGesture(this,t),n=this._getPointer(o.center);this._zoom(i,n)}t.preventDefault()},s.prototype._onMouseMoveTitle=function(t){var e=h.fakeGesture(this,t),i=this._getPointer(e.center);this.popupObj&&this._checkHidePopup(i);var s=this,o=function(){s._checkShowPopup(i)};if(this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(o,this.constants.tooltip.delay)),1==this.constants.hover){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var r=this._getNodeAt(i);null==r&&(r=this._getEdgeAt(i)),null!=r&&this._hoverObject(r);for(var a in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(a)&&(r instanceof m&&r.id!=a||r instanceof g||null==r)&&(this._blurObject(this.hoverObj.nodes[a]),delete this.hoverObj.nodes[a]);this.redraw()}},s.prototype._checkShowPopup=function(t){var e,i={left:this._XconvertDOMtoCanvas(t.x),top:this._YconvertDOMtoCanvas(t.y),right:this._XconvertDOMtoCanvas(t.x),bottom:this._YconvertDOMtoCanvas(t.y)},s=this.popupObj;if(void 0==this.popupObj){var o=this.nodes;for(e in o)if(o.hasOwnProperty(e)){var n=o[e];if(void 0!==n.getTitle()&&n.isOverlappingWith(i)){this.popupObj=n;break}}}if(void 0===this.popupObj){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupObj=a;break}}}if(this.popupObj){if(this.popupObj!=s){var h=this;h.popup||(h.popup=new f(h.frame,h.constants.tooltip)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupObj.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},s.prototype._checkHidePopup=function(t){this.popupObj&&this._getNodeAt(t)||(this.popupObj=void 0,this.popup&&this.popup.hide())},s.prototype.setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,void 0!==this.manipulationDiv&&(this.manipulationDiv.style.width=this.frame.canvas.clientWidth+"px"),void 0!==this.navigationDivs&&void 0!==this.navigationDivs.wrapper&&(this.navigationDivs.wrapper.style.width=this.frame.canvas.clientWidth+"px",this.navigationDivs.wrapper.style.height=this.frame.canvas.clientHeight+"px"),this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height})},s.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof d||t instanceof l)this.nodesData=t;else if(t instanceof Array)this.nodesData=new d,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new d}if(e&&a.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;a.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},s.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var o=this.nodesData.get(e),n=new m(o,this.images,this.groups,this.constants);if(this.nodes[e]=n,!(0!=n.xFixed&&0!=n.yFixed||null!==n.x&&null!==n.y)){var r=1*t.length,a=2*Math.PI*Math.random();0==n.xFixed&&(n.x=r*Math.cos(a)),0==n.yFixed&&(n.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},s.prototype._updateNodes=function(t){for(var e=this.nodes,i=this.nodesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n],a=i.get(n);r?r.setProperties(a,this.constants):(r=new m(properties,this.images,this.groups,this.constants),e[n]=r)}this.moving=!0,1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateNodeIndexList(),this._reconnectEdges(),this._updateValueRange(e)},s.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var o=t[i];delete e[o]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},s.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof d||t instanceof l)this.edgesData=t;else if(t instanceof Array)this.edgesData=new d,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new d}if(e&&a.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;a.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},s.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=e[n];r&&r.disconnect();var a=i.get(n,{showInternalIds:!0});e[n]=new g(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,o=t.length;o>s;s++){var n=t[s],r=i.get(n),a=e[n];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new g(r,this,this.constants),this.edges[n]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},s.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var o=t[i],n=e[o];n&&(null!=n.via&&delete this.sectors.support.nodes[n.via.id],n.disconnect(),delete e[o])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},s.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},s.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var o=t[e].getValue();void 0!==o&&(i=void 0===i?o:Math.min(o,i),s=void 0===s?o:Math.max(o,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},s.prototype.redraw=function(){this.setSize(this.width,this.height),this._redraw()},s.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._XconvertDOMtoCanvas(0),y:this._YconvertDOMtoCanvas(0)},this.canvasBottomRight={x:this._XconvertDOMtoCanvas(this.frame.canvas.clientWidth),y:this._YconvertDOMtoCanvas(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideEdgesOnDrag)&&this._doInAllSectors("_drawEdges",t),(0==this.drag.dragging||void 0===this.drag.dragging||0==this.constants.hideNodesOnDrag)&&this._doInAllSectors("_drawNodes",t,!1),1==this.controlNodesActive&&this._doInAllSectors("_drawControlNodes",t),t.restore()},s.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e),this.emit("viewChanged")},s.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},s.prototype._setScale=function(t){this.scale=t},s.prototype._getScale=function(){return this.scale},s.prototype._XconvertDOMtoCanvas=function(t){return(t-this.translation.x)/this.scale},s.prototype._XconvertCanvasToDOM=function(t){return t*this.scale+this.translation.x},s.prototype._YconvertDOMtoCanvas=function(t){return(t-this.translation.y)/this.scale},s.prototype._YconvertCanvasToDOM=function(t){return t*this.scale+this.translation.y},s.prototype.canvasToDOM=function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}},s.prototype.DOMtoCanvas=function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}},s.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var o in i)i.hasOwnProperty(o)&&(i[o].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[o].isSelected()?s.push(o):(i[o].inArea()||e)&&i[o].draw(t));for(var n=0,r=s.length;r>n;n++)(i[s[n]].inArea()||e)&&i[s[n]].draw(t)},s.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},s.prototype._drawControlNodes=function(t){var e=this.edges;for(var i in e)e.hasOwnProperty(i)&&e[i]._drawControlNodes(t)},s.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var o=this.constants.minVelocity/Math.max(this.scale,.05);o>.5*this.constants.maxVelocity?this.moving=!0:(this.moving=this._isMoving(o),0==this.moving&&this.emit("stabilized",{iterations:null}),this.moving=this.moving||this.configurePhysics)}},s.prototype._physicsTick=function(){this.freezeSimulation||this.moving&&(this._doInAllActiveSectors("_initializeForceCalculation"),this._doInAllActiveSectors("_discreteStepNodes"),this.constants.smoothCurves&&this._doInSupportSector("_discreteStepNodes"),this._findCenter(this._getRange()))},s.prototype._animationStep=function(){this.timer=void 0,this._handleNavigation(),this.start();var t=Date.now(),e=1;this._physicsTick();for(var i=Date.now()-t;i<.9*(this.renderTimestep-this.renderTime)&&eh}return!1},s.prototype._getColor=function(){var t=this.color;return"to"==this.inheritColor?t={highlight:this.to.color.highlight.border,hover:this.to.color.hover.border,color:this.to.color.border}:("from"==this.inheritColor||1==this.inheritColor)&&(t={highlight:this.from.color.highlight.border,hover:this.from.color.hover.border,color:this.from.color.border}),1==this.selected?t.highlight:1==this.hover?t.hover:t.color},s.prototype._drawLine=function(t){if(t.strokeStyle=this._getColor(),t.lineWidth=this._getLineWidth(),this.from!=this.to){var e,i=this._line(t);if(this.label){if(1==this.smoothCurves.enabled&&null!=i){var s=.5*(.5*(this.from.x+i.x)+.5*(this.to.x+i.x)),o=.5*(.5*(this.from.y+i.y)+.5*(this.to.y+i.y));e={x:s,y:o}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,r,a=this.length/4,h=this.from;h.width||h.resize(t),h.width>h.height?(n=h.x+h.width/2,r=h.y-a):(n=h.x+a,r=h.y-h.height/2),this._circle(t,n,r,a),e=this._pointOnCircle(n,r,a,.5),this._label(t,this.label,e.x,e.y)}},s.prototype._getLineWidth=function(){return 1==this.selected?Math.min(this.widthSelected,this.widthMax)*this.networkScaleInv:1==this.hover?Math.min(this.hoverWidth,this.widthMax)*this.networkScaleInv:this.width*this.networkScaleInv},s.prototype._getViaCoordinates=function(){var t=null,e=null,i=this.smoothCurves.roundness,s=this.smoothCurves.type,o=Math.abs(this.from.x-this.to.x),n=Math.abs(this.from.y-this.to.y);return"discrete"==s||"diagonalCross"==s?Math.abs(this.from.x-this.to.x)this.to.y?this.from.xthis.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"==s&&(t=i*n>o?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.xthis.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o)),"discrete"==s&&(e=i*o>n?this.from.y:e)):"straightCross"==s?Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,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.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*o,e=this.from.y-i*o,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*o,e=this.from.y+i*o,e=this.to.yl.height?(a=l.x+.5*l.width,h=l.y-d):(a=l.x+d,h=l.y-.5*l.height),this._circle(t,a,h,d);var s=.2*Math.PI,o=(10+5*this.width)*this.arrowScaleFactor;e=this._pointOnCircle(a,h,d,.5),t.arrow(e.x,e.y,s,o),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(a,h,d,.5),this._label(t,this.label,e.x,e.y))}},s.prototype._drawArrow=function(t){1==this.selected?(t.strokeStyle=this.color.highlight,t.fillStyle=this.color.highlight):1==this.hover?(t.strokeStyle=this.color.hover,t.fillStyle=this.color.hover):(t.strokeStyle=this.color.color,t.fillStyle=this.color.color),t.lineWidth=this._getLineWidth(); -var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s,o=this.to.x-this.from.x,n=this.to.y-this.from.y,r=Math.sqrt(o*o+n*n),a=this.from.distanceToBorder(t,e+Math.PI),h=(r-a)/r,d=h*this.from.x+(1-h)*this.to.x,l=h*this.from.y+(1-h)*this.to.y;1==this.smoothCurves.dynamic&&1==this.smoothCurves.enabled?s=this.via:1==this.smoothCurves.enabled&&(s=this._getViaCoordinates()),1==this.smoothCurves.enabled&&null!=s.x&&(e=Math.atan2(this.to.y-s.y,this.to.x-s.x),o=this.to.x-s.x,n=this.to.y-s.y,r=Math.sqrt(o*o+n*n));var c,p,u=this.to.distanceToBorder(t,e),m=(r-u)/r;if(1==this.smoothCurves.enabled&&null!=s.x?(c=(1-m)*s.x+m*this.to.x,p=(1-m)*s.y+m*this.to.y):(c=(1-m)*this.from.x+m*this.to.x,p=(1-m)*this.from.y+m*this.to.y),t.beginPath(),t.moveTo(d,l),1==this.smoothCurves.enabled&&null!=s.x?t.quadraticCurveTo(s.x,s.y,c,p):t.lineTo(c,p),t.stroke(),i=(10+5*this.width)*this.arrowScaleFactor,t.arrow(c,p,e,i),t.fill(),t.stroke(),this.label){var g;if(1==this.smoothCurves.enabled&&null!=s){var f=.5*(.5*(this.from.x+s.x)+.5*(this.to.x+s.x)),v=.5*(.5*(this.from.y+s.y)+.5*(this.to.y+s.y));g={x:f,y:v}}else g=this._pointOnLine(.5);this._label(t,this.label,g.x,g.y)}}else{var y,b,x,w=this.from,_=.25*Math.max(100,this.length);w.width||w.resize(t),w.width>w.height?(y=w.x+.5*w.width,b=w.y-_,x={x:y,y:w.y,angle:.9*Math.PI}):(y=w.x+_,b=w.y-.5*w.height,x={x:w.x,y:b,angle:.6*Math.PI}),t.beginPath(),t.arc(y,b,_,0,2*Math.PI,!1),t.stroke();var i=(10+5*this.width)*this.arrowScaleFactor;t.arrow(x.x,x.y,x.angle,i),t.fill(),t.stroke(),this.label&&(g=this._pointOnCircle(y,b,_,.5),this._label(t,this.label,g.x,g.y))}},s.prototype._getDistanceToEdge=function(t,e,i,s,o,n){if(this.from!=this.to){if(1==this.smoothCurves.enabled){var r,a;if(1==this.smoothCurves.enabled&&1==this.smoothCurves.dynamic)r=this.via.x,a=this.via.y;else{var h=this._getViaCoordinates();r=h.x,a=h.y}var d,l,c,p,u,m,g,f=1e9;for(l=0;10>l;l++)c=.1*l,p=Math.pow(1-c,2)*t+2*c*(1-c)*r+Math.pow(c,2)*i,u=Math.pow(1-c,2)*e+2*c*(1-c)*a+Math.pow(c,2)*s,l>0&&(d=this._getDistanceToLine(m,g,p,u,o,n),f=f>d?d:f),m=p,g=u;return f}return this._getDistanceToLine(t,e,i,s,o,n)}var p,u,v,y,b=this.length/4,x=this.from;return x.width||x.resize(ctx),x.width>x.height?(p=x.x+x.width/2,u=x.y-b):(p=x.x+b,u=x.y-x.height/2),v=p-o,y=u-n,Math.abs(Math.sqrt(v*v+y*y)-b)},s.prototype._getDistanceToLine=function(t,e,i,s,o,n){var r=i-t,a=s-e,h=r*r+a*a,d=((o-t)*r+(n-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,c=e+d*a,p=l-o,u=c-n;return Math.sqrt(p*p+u*u)},s.prototype.setScale=function(t){this.networkScaleInv=1/t},s.prototype.select=function(){this.selected=!0},s.prototype.unselect=function(){this.selected=!1},s.prototype.positionBezierNode=function(){null!==this.via&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},s.prototype._drawControlNodes=function(t){if(1==this.controlNodesEnabled){if(null===this.controlNodes.from&&null===this.controlNodes.to){var e="edgeIdFrom:".concat(this.id),i="edgeIdTo:".concat(this.id),s={nodes:{group:"",radius:8},physics:{damping:0},clustering:{maxNodeSizeIncrements:0,nodeScaling:{width:0,height:0,radius:0}}};this.controlNodes.from=new n({id:e,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s),this.controlNodes.to=new n({id:i,shape:"dot",color:{background:"#ff4e00",border:"#3c3c3c",highlight:{background:"#07f968"}}},{},{},s)}0==this.controlNodes.from.selected&&0==this.controlNodes.to.selected&&(this.controlNodes.positions=this.getControlNodePositions(t),this.controlNodes.from.x=this.controlNodes.positions.from.x,this.controlNodes.from.y=this.controlNodes.positions.from.y,this.controlNodes.to.x=this.controlNodes.positions.to.x,this.controlNodes.to.y=this.controlNodes.positions.to.y),this.controlNodes.from.draw(t),this.controlNodes.to.draw(t)}else this.controlNodes={from:null,to:null,positions:{}}},s.prototype._enableControlNodes=function(){this.controlNodesEnabled=!0},s.prototype._disableControlNodes=function(){this.controlNodesEnabled=!1},s.prototype._getSelectedControlNode=function(t,e){var i=this.controlNodes.positions,s=Math.sqrt(Math.pow(t-i.from.x,2)+Math.pow(e-i.from.y,2)),o=Math.sqrt(Math.pow(t-i.to.x,2)+Math.pow(e-i.to.y,2));return 15>s?(this.connectedNode=this.from,this.from=this.controlNodes.from,this.controlNodes.from):15>o?(this.connectedNode=this.to,this.to=this.controlNodes.to,this.controlNodes.to):null},s.prototype._restoreControlNodes=function(){1==this.controlNodes.from.selected&&(this.from=this.connectedNode,this.connectedNode=null,this.controlNodes.from.unselect()),1==this.controlNodes.to.selected&&(this.to=this.connectedNode,this.connectedNode=null,this.controlNodes.to.unselect())},s.prototype.getControlNodePositions=function(t){var e,i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=this.to.x-this.from.x,o=this.to.y-this.from.y,n=Math.sqrt(s*s+o*o),r=this.from.distanceToBorder(t,i+Math.PI),a=(n-r)/n,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.smoothCurves.dynamic&&1==this.smoothCurves.enabled?e=this.via:1==this.smoothCurves.enabled&&(e=this._getViaCoordinates()),1==this.smoothCurves.enabled&&null!=e.x&&(i=Math.atan2(this.to.y-e.y,this.to.x-e.x),s=this.to.x-e.x,o=this.to.y-e.y,n=Math.sqrt(s*s+o*o));var l,c,p=this.to.distanceToBorder(t,i),u=(n-p)/n;return 1==this.smoothCurves.enabled&&null!=e.x?(l=(1-u)*e.x+u*this.to.x,c=(1-u)*e.y+u*this.to.y):(l=(1-u)*this.from.x+u*this.to.x,c=(1-u)*this.from.y+u*this.to.y),{from:{x:h,y:d},to:{x:l,y:c}}},t.exports=s},function(t,e,i){function s(){this.clear(),this.defaultIndex=0}var o=i(1);s.DEFAULT=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}}],s.prototype.clear=function(){this.groups={},this.groups.length=function(){var t=0;for(var e in this)this.hasOwnProperty(e)&&t++;return t}},s.prototype.get=function(t){var e=this.groups[t];if(void 0==e){var i=this.defaultIndex%s.DEFAULT.length;this.defaultIndex++,e={},e.color=s.DEFAULT[i],this.groups[t]=e}return e},s.prototype.add=function(t,e){return this.groups[t]=e,e.color&&(e.color=o.parseColor(e.color)),e},t.exports=s},function(t){function e(){this.images={},this.callback=void 0}e.prototype.setOnloadCallback=function(t){this.callback=t},e.prototype.load=function(t){var e=this.images[t];if(void 0==e){var i=this;e=new Image,this.images[t]=e,e.onload=function(){i.callback&&i.callback(this)},e.src=t}return e},t.exports=e},function(t,e,i){function s(t,e,i,s){this.selected=!1,this.hover=!1,this.edges=[],this.dynamicEdges=[],this.reroutedEdges={},this.group=s.nodes.group,this.fontSize=Number(s.nodes.fontSize),this.fontFace=s.nodes.fontFace,this.fontColor=s.nodes.fontColor,this.fontDrawThreshold=3,this.color=s.nodes.color,this.id=void 0,this.shape=s.nodes.shape,this.image=s.nodes.image,this.x=null,this.y=null,this.xFixed=!1,this.yFixed=!1,this.horizontalAlignLeft=!0,this.verticalAlignTop=!0,this.radius=s.nodes.radius,this.baseRadiusValue=s.nodes.radius,this.radiusFixed=!1,this.radiusMin=s.nodes.radiusMin,this.radiusMax=s.nodes.radiusMax,this.level=-1,this.preassignedLevel=!1,this.borderWidth=s.nodes.borderWidth,this.borderWidthSelected=s.nodes.borderWidthSelected,this.imagelist=e,this.grouplist=i,this.fx=0,this.fy=0,this.vx=0,this.vy=0,this.minForce=s.minForce,this.damping=s.physics.damping,this.mass=1,this.fixedData={x:null,y:null},this.setProperties(t,s),this.resetCluster(),this.dynamicEdgesLength=0,this.clusterSession=0,this.clusterSizeWidthFactor=s.clustering.nodeScaling.width,this.clusterSizeHeightFactor=s.clustering.nodeScaling.height,this.clusterSizeRadiusFactor=s.clustering.nodeScaling.radius,this.maxNodeSizeIncrements=s.clustering.maxNodeSizeIncrements,this.growthIndicator=0,this.networkScaleInv=1,this.networkScale=1,this.canvasTopLeft={x:-300,y:-300},this.canvasBottomRight={x:300,y:300},this.parentEdgeId=null}var o=i(1);s.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},s.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&(this.edges.splice(e,1),this.dynamicEdges.splice(e,1)),this.dynamicEdgesLength=this.dynamicEdges.length},s.prototype.setProperties=function(t,e){if(t){if(this.originalLabel=void 0,void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.group&&(this.group=t.group),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.borderWidth&&(this.borderWidth=t.borderWidth),void 0!==t.borderWidthSelected&&(this.borderWidthSelected=t.borderWidthSelected),void 0!==t.mass&&(this.mass=t.mass),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if(void 0!==this.group){var i=this.grouplist.get(this.group);for(var s in i)i.hasOwnProperty(s)&&(this[s]=i[s])}if(void 0!==t.shape&&(this.shape=t.shape),void 0!==t.image&&(this.image=t.image),void 0!==t.radius&&(this.radius=t.radius,this.baseRadiusValue=this.radius),void 0!==t.color&&(this.color=o.parseColor(t.color)),void 0!==t.fontColor&&(this.fontColor=t.fontColor),void 0!==t.fontSize&&(this.fontSize=t.fontSize),void 0!==t.fontFace&&(this.fontFace=t.fontFace),void 0!==this.image&&""!=this.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.image)}switch(this.xFixed=this.xFixed||void 0!==t.x&&!t.allowedToMoveX,this.yFixed=this.yFixed||void 0!==t.y&&!t.allowedToMoveY,this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.shape&&(this.radiusMin=e.nodes.widthMin,this.radiusMax=e.nodes.widthMax),this.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},s.prototype.select=function(){this.selected=!0,this._reset()},s.prototype.unselect=function(){this.selected=!1,this._reset()},s.prototype.clearSizeCache=function(){this._reset()},s.prototype._reset=function(){this.width=void 0,this.height=void 0},s.prototype.getTitle=function(){return"function"==typeof this.title?this.title():this.title},s.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.shape){case"circle":case"dot":return this.radius+i;case"ellipse":var s=this.width/2,o=this.height/2,n=Math.sin(e)*s,r=Math.cos(e)*o;return s*o/Math.sqrt(n*n+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},s.prototype._setForce=function(t,e){this.fx=t,this.fy=e},s.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},s.prototype.discreteStep=function(t){if(!this.xFixed){var e=this.damping*this.vx,i=(this.fx-e)/this.mass;this.vx+=i*t,this.x+=this.vx*t}if(!this.yFixed){var s=this.damping*this.vy,o=(this.fy-s)/this.mass;this.vy+=o*t,this.y+=this.vy*t}},s.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0;else{var o=this.damping*this.vy,n=(this.fy-o)/this.mass;this.vy+=n*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},s.prototype.isFixed=function(){return this.xFixed&&this.yFixed},s.prototype.isMoving=function(t){return Math.abs(this.vx)>t||Math.abs(this.vy)>t},s.prototype.isSelected=function(){return this.selected},s.prototype.getValue=function(){return this.value},s.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},s.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.radius=(this.radiusMin+this.radiusMax)/2;else{var i=(this.radiusMax-this.radiusMin)/(e-t);this.radius=(this.value-t)*i+this.radiusMin}this.baseRadiusValue=this.radius},s.prototype.draw=function(){throw"Draw method not initialized for node"},s.prototype.resize=function(){throw"Resize method not initialized for node"},s.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},s.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.radius||this.imageObj.width,e=this.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},s.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.networkScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},s.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.borderWidth,s=this.borderWidthSelected||2*this.borderWidth;t.strokeStyle=this.selected?this.color.highlight.border:this.hover?this.color.hover.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.radius),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},s.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.borderWidth,s=this.borderWidthSelected||2*this.borderWidth;t.strokeStyle=this.selected?this.color.highlight.border:this.hover?this.color.hover.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.hover?this.color.hover.background:this.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.radius=s/2,this.width=s,this.height=s,this.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.radius-.5*s}},s.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=this.borderWidth,s=this.borderWidthSelected||2*this.borderWidth;t.strokeStyle=this.selected?this.color.highlight.border:this.hover?this.color.hover.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.circle(this.x,this.y,this.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.hover?this.color.hover.background:this.color.background,t.circle(this.x,this.y,this.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:i)+(this.clusterSize>1?e:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.hover?this.color.hover.background:this.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},s.prototype._drawDot=function(t){this._drawShape(t,"circle")},s.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},s.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},s.prototype._drawSquare=function(t){this._drawShape(t,"square")},s.prototype._drawStar=function(t){this._drawShape(t,"star")},s.prototype._resizeShape=function(){if(!this.width){this.radius=this.baseRadiusValue;var t=2*this.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},s.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=this.borderWidth,o=this.borderWidthSelected||2*this.borderWidth,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.color.highlight.border:this.hover?this.color.hover.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t[e](this.x,this.y,this.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?o:s)+(this.clusterSize>1?i:0),t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.hover?this.color.hover.background:this.color.background,t[e](this.x,this.y,this.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top",!0)},s.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},s.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},s.prototype._label=function(t,e,i,s,o,n,r){if(e&&this.fontSize*this.networkScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.fontSize+"px "+this.fontFace,t.fillStyle=this.fontColor||"black",t.textAlign=o||"center",t.textBaseline=n||"middle";var a=e.split("\n"),h=a.length,d=this.fontSize+4,l=s+(1-h)/2*d;1==r&&(l=s+(1-h)/(2*d));for(var c=0;h>c;c++)t.fillText(a[c],i,l),l+=d}},s.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.fontSize+"px "+this.fontFace;for(var e=this.label.split("\n"),i=(this.fontSize+4)*e.length,s=0,o=0,n=e.length;n>o;o++)s=Math.max(s,t.measureText(e[o]).width);return{width:s,height:i}}return{width:0,height:0}},s.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.networkScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.networkScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.networkScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.ys&&(n=s-e-this.padding),no&&(r=o-i-this.padding),ri;i++)if(e.id===r.nodes[i].id){o=r.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=a(o.attr,t.node))),i=n.length-1;i>=0;i--){var h=n[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(o)&&h.nodes.push(o)}e.attr&&(o.attr=a(o.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 c(t,e,i,s,o){var n={from:e,to:i,type:s};return t.edge&&(n.attr=a({},t.edge)),n.attr=a(n.attr||{},o),n}function p(){for(O=M.NULL,N="";" "==L||" "==L||"\n"==L||"\r"==L;)o();do{var t=!1;if("#"==L){for(var e=T-1;" "==D.charAt(e)||" "==D.charAt(e);)e--;if("\n"==D.charAt(e)||""==D.charAt(e)){for(;""!=L&&"\n"!=L;)o();t=!0}}if("/"==L&&"/"==n()){for(;""!=L&&"\n"!=L;)o();t=!0}if("/"==L&&"*"==n()){for(;""!=L;){if("*"==L&&"/"==n()){o(),o();break}o()}t=!0}for(;" "==L||" "==L||"\n"==L||"\r"==L;)o()}while(t);if(""==L)return void(O=M.DELIMITER);var i=L+n();if(E[i])return O=M.DELIMITER,N=i,o(),void o();if(E[L])return O=M.DELIMITER,N=L,void o();if(r(L)||"-"==L){for(N+=L,o();r(L);)N+=L,o();return"false"==N?N=!1:"true"==N?N=!0:isNaN(Number(N))||(N=Number(N)),void(O=M.IDENTIFIER)}if('"'==L){for(o();""!=L&&('"'!=L||'"'==L&&'"'==n());)N+=L,'"'==L&&o(),o();if('"'!=L)throw w('End of string " expected');return o(),void(O=M.IDENTIFIER)}for(O=M.UNKNOWN;""!=L;)N+=L,o();throw new SyntaxError('Syntax error in part "'+_(N,30)+'"')}function u(){var t={};if(s(),p(),"strict"==N&&(t.strict=!0,p()),("graph"==N||"digraph"==N)&&(t.type=N,p()),O==M.IDENTIFIER&&(t.id=N,p()),"{"!=N)throw w("Angle bracket { expected");if(p(),m(t),"}"!=N)throw w("Angle bracket } expected");if(p(),""!==N)throw w("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==N&&"}"!=N;)g(t),";"==N&&p()}function g(t){var e=f(t);if(e)return void b(t,e);var i=v(t);if(!i){if(O!=M.IDENTIFIER)throw w("Identifier expected");var s=N;if(p(),"="==N){if(p(),O!=M.IDENTIFIER)throw w("Identifier expected");t[s]=N,p()}else y(t,s)}}function f(t){var e=null;if("subgraph"==N&&(e={},e.type="subgraph",p(),O==M.IDENTIFIER&&(e.id=N,p())),"{"==N){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=N)throw w("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function v(t){return"node"==N?(p(),t.node=x(),"node"):"edge"==N?(p(),t.edge=x(),"edge"):"graph"==N?(p(),t.graph=x(),"graph"):null}function y(t,e){var i={id:e},s=x();s&&(i.attr=s),d(t,i),b(t,e)}function b(t,e){for(;"->"==N||"--"==N;){var i,s=N;p();var o=f(t);if(o)i=o;else{if(O!=M.IDENTIFIER)throw w("Identifier or subgraph expected");i=N,d(t,{id:i}),p()}var n=x(),r=c(t,e,i,s,n);l(t,r),e=i}}function x(){for(var t=null;"["==N;){for(p(),t={};""!==N&&"]"!=N;){if(O!=M.IDENTIFIER)throw w("Attribute name expected");var e=N;if(p(),"="!=N)throw w("Equal sign = expected");if(p(),O!=M.IDENTIFIER)throw w("Attribute value expected");var i=N;h(t,e,i),p(),","==N&&p()}if("]"!=N)throw w("Bracket ] expected");p()}return t}function w(t){return new SyntaxError(t+', got "'+_(N,30)+'" (char '+T+")")}function _(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){t instanceof Array?t.forEach(function(t){e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}):e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}function C(t){function e(t){var e={from:t.from,to:t.to};return a(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=i(t),o={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};a(e,t.attr),e.image&&(e.shape="image"),o.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var i,s;i=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var i=e(t);o.edges.push(i)}),S(i,s,function(i,s){var n=c(o,i.id,s.id,t.type,t.attr),r=e(n);o.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var i=e(t);o.edges.push(i)})}),s.attr&&(o.options=s.attr),o}var M={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},E={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},D="",T=0,L="",N="",O=M.NULL,k=/[a-zA-Z_0-9.:#]/;e.parseDOT=i,e.DOTToGraph=C},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(41)},function(t,e,i){t.exports="undefined"!=typeof window?window.Hammer||i(42):function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t){t.exports=__WEBPACK_EXTERNAL_MODULE_41__},function(t){t.exports=__WEBPACK_EXTERNAL_MODULE_42__ -},function(t,e,i){var s=i(40);e.fakeGesture=function(t,e){var i=null,o=s.event.getTouchList(e,i),n=s.event.collectEventData(this,i,o,e);return isNaN(n.center.pageX)&&(n.center.pageX=e.pageX),isNaN(n.center.pageY)&&(n.center.pageY=e.pageY),n}},function(){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1)},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i)},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath();var s=2*i,o=s/2,n=Math.sqrt(3)/6*s,r=Math.sqrt(s*s-o*o);this.moveTo(t,e-(r-n)),this.lineTo(t+o,e+n),this.lineTo(t-o,e+n),this.lineTo(t,e-(r-n)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath();var s=2*i,o=s/2,n=Math.sqrt(3)/6*s,r=Math.sqrt(s*s-o*o);this.moveTo(t,e+(r-n)),this.lineTo(t+o,e-n),this.lineTo(t-o,e-n),this.lineTo(t,e+(r-n)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath();for(var s=0;10>s;s++){var o=s%2===0?1.3*i:.5*i;this.lineTo(t+o*Math.sin(2*s*Math.PI/10),e-o*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,o){var n=Math.PI/180;0>i-2*o&&(o=i/2),0>s-2*o&&(o=s/2),this.beginPath(),this.moveTo(t+o,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,270*n,360*n,!1),this.lineTo(t+i,e+s-o),this.arc(t+i-o,e+s-o,o,0,90*n,!1),this.lineTo(t+o,e+s),this.arc(t+o,e+s-o,o,90*n,180*n,!1),this.lineTo(t,e+o),this.arc(t+o,e+o,o,180*n,270*n,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var o=.5522848,n=i/2*o,r=s/2*o,a=t+i,h=e+s,d=t+i/2,l=e+s/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-n,e,d,e),this.bezierCurveTo(d+n,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+n,h,d,h),this.bezierCurveTo(d-n,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var o=1/3,n=i,r=s*o,a=.5522848,h=n/2*a,d=r/2*a,l=t+n,c=e+r,p=t+n/2,u=e+r/2,m=e+(s-r/2),g=e+s;this.beginPath(),this.moveTo(l,u),this.bezierCurveTo(l,u+d,p+h,c,p,c),this.bezierCurveTo(p-h,c,t,u+d,t,u),this.bezierCurveTo(t,u-d,p-h,e,p,e),this.bezierCurveTo(p+h,e,l,u-d,l,u),this.lineTo(l,m),this.bezierCurveTo(l,m+d,p+h,g,p,g),this.bezierCurveTo(p-h,g,t,m+d,t,m),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var o=t-s*Math.cos(i),n=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=o+s/3*Math.cos(i+.5*Math.PI),d=n+s/3*Math.sin(i+.5*Math.PI),l=o+s/3*Math.cos(i-.5*Math.PI),c=n+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,c),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,o){o||(o=[10,5]),0==p&&(p=.001);var n=o.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,c=!0;d>=.1;){var p=o[l++%n];p>d&&(p=d);var u=Math.sqrt(p*p/(1+h*h));0>r&&(u=-u),t+=u,e+=h*u,this[c?"lineTo":"moveTo"](t,e),d-=p,c=!c}})},function(t,e,i){var s=i(54),o=i(48),n=i(49),r=i(50),a=i(51),h=i(52),d=i(53);e._loadMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])},e._clearMixin=function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=void 0)},e._loadPhysicsSystem=function(){this._loadMixin(s),this._loadSelectedForceSolver(),1==this.constants.configurePhysics&&this._loadPhysicsConfiguration()},e._loadClusterSystem=function(){this.clusterSession=0,this.hubThreshold=5,this._loadMixin(o)},e._loadSectorSystem=function(){this.sectors={},this.activeSector=["default"],this.sectors.active={},this.sectors.active["default"]={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.sectors.frozen={},this.sectors.support={nodes:{},edges:{},nodeIndices:[],formationScale:1,drawingNode:void 0},this.nodeIndices=this.sectors.active["default"].nodeIndices,this._loadMixin(n)},e._loadSelectionSystem=function(){this.selectionObj={nodes:{},edges:{}},this._loadMixin(r)},e._loadManipulationSystem=function(){this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.constants.dataManipulation.enabled?(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="network-manipulationDiv",this.manipulationDiv.id="network-manipulationDiv",this.manipulationDiv.style.display=1==this.editMode?"block":"none",this.containerElement.insertBefore(this.manipulationDiv,this.frame)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="network-manipulation-editMode",this.editModeDiv.id="network-manipulation-editMode",this.editModeDiv.style.display=1==this.editMode?"none":"block",this.containerElement.insertBefore(this.editModeDiv,this.frame)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="network-manipulation-closeDiv",this.closeDiv.id="network-manipulation-closeDiv",this.closeDiv.style.display=this.manipulationDiv.style.display,this.containerElement.insertBefore(this.closeDiv,this.frame)),this._loadMixin(a),this._createManipulatorBar()):void 0!==this.manipulationDiv&&(this._createManipulatorBar(),this.containerElement.removeChild(this.manipulationDiv),this.containerElement.removeChild(this.editModeDiv),this.containerElement.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._clearMixin(a))},e._loadNavigationControls=function(){this._loadMixin(h),this._cleanNavigation(),1==this.constants.navigation.enabled&&this._loadNavigationElements()},e._loadHierarchySystem=function(){this._loadMixin(d)}},function(t){function e(t){return t?i(t):void 0}function i(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){s.off(t,i),e.apply(this,arguments)}var s=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.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 s,o=0;os;++s)i[s].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t){function e(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):void t.attachEvent("on"+e,i)}function i(t){return"keypress"==t.type?String.fromCharCode(t.which):x[t.which]?x[t.which]:w[t.which]?w[t.which]:String.fromCharCode(t.which).toLowerCase()}function s(t){var e=t.target||t.srcElement,i=e.tagName;return(" "+e.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function n(t){t=t||{};var e,i=!1;for(e in E)t[e]?i=!0:E[e]=0;i||(T=!1)}function r(t,e,i,s,n){var r,a,h=[];if(!C[t])return[];for("keyup"==i&&c(t)&&(e=[t]),r=0;r95&&112>t||x.hasOwnProperty(t)&&(y[x[t]]=t)}return y}function m(t,e,i){return i||(i=u()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function g(t,e,s,o){E[t]=0,o||(o=m(e[0],[]));var r,a=function(){T=o,++E[t],p()},d=function(t){h(s,t),"keyup"!==o&&(D=i(t)),setTimeout(n,10)};for(r=0;r1)return g(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),n=0;n":".","?":"/","|":"\\"},S={option:"alt",command:"meta","return":"enter",escape:"esc"},C={},M={},E={},D=!1,T=!1,L=1;20>L;++L)x[111+L]="f"+L;for(L=0;9>=L;++L)x[L+96]=L;e(document,"keypress",l),e(document,"keydown",l),e(document,"keyup",l);var N={bind:function(t,e,i){return v(t instanceof Array?t:[t],e,i),M[t+":"+i]=e,this},unbind:function(t,e){return M[t+":"+e]&&(delete M[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return M[t+":"+e](),this},reset:function(){return C={},M={},this}};t.exports=N},function(t,e){e.startWithClustering=function(){this.clusterToFit(this.constants.clustering.initialMaxNodes,!0),this.updateLabels(),this.stabilize&&this._stabilize(),this.start()},e.clusterToFit=function(t,e){for(var i=this.nodeIndices.length,s=50,o=0;i>t&&s>o;)o%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,o+=1;o>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},e.openCluster=function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},e.updateClustersDefault=function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},e.increaseClusterLevel=function(){this.updateClusters(-1,!1,!0)},e.decreaseClusterLevel=function(){this.updateClusters(1,!1,!0)},e.updateClusters=function(t,e,i,s){var o=this.moving,n=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},e._aggregateHubs=function(t){this._getHubSize(),this._formClustersByHub(t,!1)},e.forceAggregateHubs=function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},e._openClustersBySize=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},e._openClusters=function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=n.from,a=n.to;n.to.mass>n.from.mass&&(r=n.to,a=n.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},e._forceClustersByZoom=function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.mass>e.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},e._clusterToSmallestNeighbour=function(t){for(var e=-1,i=null,s=0;so.clusterSessions.length&&(e=o.clusterSessions.length,i=o)}null!=o&&void 0!==this.nodes[o.id]&&this._addToCluster(o,t,!0)},e._formClustersByHub=function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},e._formClusterFromHub=function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var o,n,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],l=t.dynamicEdges.length,c=0;l>c;c++)d.push(t.dynamicEdges[c].id);if(0==e)for(h=!1,c=0;l>c;c++){var p=this.edges[d[c]];if(void 0!==p&&p.connected&&p.toId!=p.fromId&&(o=p.to.x-p.from.x,n=p.to.y-p.from.y,r=Math.sqrt(o*o+n*n),a>r)){h=!0;break}}if(!e&&h||e)for(c=0;l>c;c++)if(p=this.edges[d[c]],void 0!==p){var u=this.nodes[p.fromId==t.id?p.toId:p.fromId];u.dynamicEdges.length<=this.hubThreshold+s&&u.id!=t.id&&this._addToCluster(t,u,e)}}},e._addToCluster=function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},e.normalizeClusterLevels=function(){var t,e=0,i=1e9,s=0;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(s=this.nodes[t].clusterSessions.length,s>e&&(e=s),i>s&&(i=s));if(e-i>this.constants.clustering.clusterLevelDifference){var o=this.nodeIndices.length,n=e-this.constants.clustering.clusterLevelDifference;for(t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodes[t].clusterSessions.lengths&&(s=n.dynamicEdgesLength),t+=n.dynamicEdgesLength,e+=Math.pow(n.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},e._reduceAmountOfChains=function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},e._getChainFraction=function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},function(t,e,i){var s=i(1);e._putDataInSector=function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},e._switchToSector=function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},e._switchToActiveSector=function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},e._switchToSupportSector=function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},e._switchToFrozenSector=function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},e._loadLatestSector=function(){this._switchToSector(this._sector())},e._sector=function(){return this.activeSector[this.activeSector.length-1]},e._previousSector=function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},e._setActiveSector=function(t){this.activeSector.push(t)},e._forgetLastSector=function(){this.activeSector.pop()},e._createNewSector=function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new Node({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},e._deleteActiveSector=function(t){delete this.sectors.active[t]},e._deleteFrozenSector=function(t){delete this.sectors.frozen[t]},e._freezeSector=function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},e._activateSector=function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},e._mergeThisWithFrozen=function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInSupportSector=function(t,e){if(void 0===e)this._switchToSupportSector(),this[t]();else{this._switchToSupportSector();var i=Array.prototype.splice.call(arguments,1);i.length>1?this[t](i[0],i[1]):this[t](e)}this._loadLatestSector()},e._doInAllFrozenSectors=function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},e._doInAllSectors=function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},e._clearNodeIndexList=function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},e._drawSectorNodes=function(t,e){var i,s=1e9,o=-1e9,n=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,o=-1e9,n=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),n>i.x-.5*i.width&&(n=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),o0?this.nodes[i[i.length-1]]:null},e._getEdgesOverlappingWith=function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},e._getAllEdgesOverlappingWith=function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},e._getEdgeAt=function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},e._addToSelection=function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},e._addToHover=function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t},e._removeFromSelection=function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},e._unselectAll=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},e._unselectClusters=function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},e._getSelectedNodeCount=function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedNode=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},e._getSelectedEdge=function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return null},e._getSelectedEdgeCount=function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},e._getSelectedObjectCount=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},e._selectionIsEmpty=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},e._clusterInSelection=function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},e._selectConnectedEdges=function(t){for(var e=0;ee;e++){s=t[e];var o=this.nodes[s];if(!o)throw new RangeError('Node with id "'+s+'" not found');this._selectObject(o,!0,!0)}console.log("setSelection is deprecated. Please use selectNodes instead."),this.redraw()},e.selectNodes=function(t,e){var i,s,o;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),i=0,s=t.length;s>i;i++){o=t[i];var n=this.nodes[o];if(!n)throw new RangeError('Node with id "'+o+'" not found');this._selectObject(n,!0,!0,e)}this.redraw()},e.selectEdges=function(t){var e,i,s;if(!t||void 0==t.length)throw"Selection must be an array with ids";for(this._unselectAll(!0),e=0,i=t.length;i>e;e++){s=t[e];var o=this.edges[s];if(!o)throw new RangeError('Edge with id "'+s+'" not found');this._selectObject(o,!0,!0,highlightEdges)}this.redraw()},e._updateSelection=function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},function(t,e,i){var s=i(1),o=i(36),n=i(33);e._clearManipulatorBar=function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild)},e._restoreOverloadedFunctions=function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},e._toggleEditMode=function(){this.editMode=!this.editMode;var t=document.getElementById("network-manipulationDiv"),e=document.getElementById("network-manipulation-closeDiv"),i=document.getElementById("network-manipulation-editMode");1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},e._createManipulatorBar=function(){if(this.boundFunction&&this.off("select",this.boundFunction),void 0!==this.edgeBeingEdited&&(this.edgeBeingEdited._disableControlNodes(),this.edgeBeingEdited=void 0,this.selectedControlNode=null,this.controlNodesActive=!1),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDiv.innerHTML=""+this.constants.labels.add+"
"+this.constants.labels.link+"",1==this._getSelectedNodeCount()&&this.triggerFunctions.edit?this.manipulationDiv.innerHTML+="
"+this.constants.labels.editNode+"":1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()&&(this.manipulationDiv.innerHTML+="
"+this.constants.labels.editEdge+""),0==this._selectionIsEmpty()&&(this.manipulationDiv.innerHTML+="
"+this.constants.labels.del+"");var t=document.getElementById("network-manipulate-addNode");t.onclick=this._createAddNodeToolbar.bind(this);var e=document.getElementById("network-manipulate-connectNode");if(e.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit){var i=document.getElementById("network-manipulate-editNode");i.onclick=this._editNode.bind(this)}else if(1==this._getSelectedEdgeCount()&&0==this._getSelectedNodeCount()){var i=document.getElementById("network-manipulate-editEdge");i.onclick=this._createEditEdgeToolbar.bind(this)}if(0==this._selectionIsEmpty()){var s=document.getElementById("network-manipulate-delete");s.onclick=this._deleteSelected.bind(this)}var o=document.getElementById("network-manipulation-closeDiv");o.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{this.editModeDiv.innerHTML=""+this.constants.labels.edit+"";var n=document.getElementById("network-manipulate-editModeButton");n.onclick=this._toggleEditMode.bind(this)}},e._createAddNodeToolbar=function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction),this.manipulationDiv.innerHTML=""+this.constants.labels.back+"
"+this.constants.labels.addDescription+"";var t=document.getElementById("network-manipulate-back");t.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},e._createAddEdgeToolbar=function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0,this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDiv.innerHTML=""+this.constants.labels.back+"
"+this.constants.labels.linkDescription+"";var t=document.getElementById("network-manipulate-back");t.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._handleOnRelease=this._handleOnRelease,this._handleTouch=this._handleConnect,this._handleOnRelease=this._finishConnect,this._redraw()},e._createEditEdgeToolbar=function(){this._clearManipulatorBar(),this.controlNodesActive=!0,this.boundFunction&&this.off("select",this.boundFunction),this.edgeBeingEdited=this._getSelectedEdge(),this.edgeBeingEdited._enableControlNodes(),this.manipulationDiv.innerHTML=""+this.constants.labels.back+"
"+this.constants.labels.editEdgeDescription+"";var t=document.getElementById("network-manipulate-back");t.onclick=this._createManipulatorBar.bind(this),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._handleOnRelease=this._handleOnRelease,this.cachedFunctions._handleTap=this._handleTap,this.cachedFunctions._handleDragStart=this._handleDragStart,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleTouch=this._selectControlNode,this._handleTap=function(){},this._handleOnDrag=this._controlNodeDrag,this._handleDragStart=function(){},this._handleOnRelease=this._releaseControlNode,this._redraw()},e._selectControlNode=function(t){this.edgeBeingEdited.controlNodes.from.unselect(),this.edgeBeingEdited.controlNodes.to.unselect(),this.selectedControlNode=this.edgeBeingEdited._getSelectedControlNode(this._XconvertDOMtoCanvas(t.x),this._YconvertDOMtoCanvas(t.y)),null!==this.selectedControlNode&&(this.selectedControlNode.select(),this.freezeSimulation=!0),this._redraw()},e._controlNodeDrag=function(t){var e=this._getPointer(t.gesture.center);null!==this.selectedControlNode&&void 0!==this.selectedControlNode&&(this.selectedControlNode.x=this._XconvertDOMtoCanvas(e.x),this.selectedControlNode.y=this._YconvertDOMtoCanvas(e.y)),this._redraw()},e._releaseControlNode=function(t){var e=this._getNodeAt(t);null!=e?(1==this.edgeBeingEdited.controlNodes.from.selected&&(this._editEdge(e.id,this.edgeBeingEdited.to.id),this.edgeBeingEdited.controlNodes.from.unselect()),1==this.edgeBeingEdited.controlNodes.to.selected&&(this._editEdge(this.edgeBeingEdited.from.id,e.id),this.edgeBeingEdited.controlNodes.to.unselect())):this.edgeBeingEdited._restoreControlNodes(),this.freezeSimulation=!1,this._redraw()},e._handleConnect=function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);null!=e&&(e.clusterSize>1?alert("Cannot create edges to a cluster."):(this._selectObject(e,!1),this.sectors.support.nodes.targetNode=new o({id:"targetNode"},{},{},this.constants),this.sectors.support.nodes.targetNode.x=e.x,this.sectors.support.nodes.targetNode.y=e.y,this.sectors.support.nodes.targetViaNode=new o({id:"targetViaNode"},{},{},this.constants),this.sectors.support.nodes.targetViaNode.x=e.x,this.sectors.support.nodes.targetViaNode.y=e.y,this.sectors.support.nodes.targetViaNode.parentEdgeId="connectionEdge",this.edges.connectionEdge=new n({id:"connectionEdge",from:e.id,to:this.sectors.support.nodes.targetNode.id},this,this.constants),this.edges.connectionEdge.from=e,this.edges.connectionEdge.connected=!0,this.edges.connectionEdge.smooth=!0,this.edges.connectionEdge.selected=!0,this.edges.connectionEdge.to=this.sectors.support.nodes.targetNode,this.edges.connectionEdge.via=this.sectors.support.nodes.targetViaNode,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center);this.sectors.support.nodes.targetNode.x=this._XconvertDOMtoCanvas(e.x),this.sectors.support.nodes.targetNode.y=this._YconvertDOMtoCanvas(e.y),this.sectors.support.nodes.targetViaNode.x=.5*(this._XconvertDOMtoCanvas(e.x)+this.edges.connectionEdge.from.x),this.sectors.support.nodes.targetViaNode.y=this._YconvertDOMtoCanvas(e.y)},this.moving=!0,this.start()))}},e._finishConnect=function(t){if(1==this._getSelectedNodeCount()){this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var e=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var i=this._getNodeAt(t);null!=i&&(i.clusterSize>1?alert("Cannot create edges to a cluster."):(this._createEdge(e,i.id),this._createManipulatorBar())),this._unselectAll()}},e._addNode=function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:s.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add)if(2==this.triggerFunctions.add.length){var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else alert(this.constants.labels.addError),this._createManipulatorBar(),this.moving=!0,this.start();else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},e._createEdge=function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect)if(2==this.triggerFunctions.connect.length){var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else alert(this.constants.labels.linkError),this.moving=!0,this.start();else this.edgesData.add(i),this.moving=!0,this.start()}},e._editEdge=function(t,e){if(1==this.editMode){var i={id:this.edgeBeingEdited.id,from:t,to:e};if(this.triggerFunctions.editEdge)if(2==this.triggerFunctions.editEdge.length){var s=this;this.triggerFunctions.editEdge(i,function(t){s.edgesData.update(t),s.moving=!0,s.start()})}else alert(this.constants.labels.linkError),this.moving=!0,this.start();else this.edgesData.update(i),this.moving=!0,this.start()}},e._editNode=function(){if(this.triggerFunctions.edit&&1==this.editMode){var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.group,shape:t.shape,color:{background:t.color.background,border:t.color.border,highlight:{background:t.color.highlight.background,border:t.color.highlight.border}}};if(2==this.triggerFunctions.edit.length){var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else alert(this.constants.labels.editError)}else alert(this.constants.labels.editBoundError)},e._deleteSelected=function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert(this.constants.labels.deleteClusterError);else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.del){var i=this,s={nodes:t,edges:e};(this.triggerFunctions.del.length=2)?this.triggerFunctions.del(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),i._unselectAll(),i.moving=!0,i.start()}):alert(this.constants.labels.deleteError)}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},function(t,e,i){var s=i(1);e._cleanNavigation=function(){var t=document.getElementById("network-navigation_wrapper");null!=t&&this.containerElement.removeChild(t),document.onmouseup=null},e._loadNavigationElements=function(){this._cleanNavigation(),this.navigationDivs={};var t=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],e=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","zoomExtent"];this.navigationDivs.wrapper=document.createElement("div"),this.navigationDivs.wrapper.id="network-navigation_wrapper",this.navigationDivs.wrapper.style.position="absolute",this.navigationDivs.wrapper.style.width=this.frame.canvas.clientWidth+"px",this.navigationDivs.wrapper.style.height=this.frame.canvas.clientHeight+"px",this.containerElement.insertBefore(this.navigationDivs.wrapper,this.frame);for(var i=0;i0){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation),"RL"==this.constants.hierarchicalLayout.direction||"LR"==this.constants.hierarchicalLayout.direction?1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="vertical"):1==this.constants.smoothCurves.enabled&&(this.constants.smoothCurves.type="horizontal");var t,e,i=0,s=!1,o=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:o=!0,is&&(n.xFixed=!1,n.x=i[n.level].minPos,r=!0):n.yFixed&&n.level>s&&(n.yFixed=!1,n.y=i[n.level].minPos,r=!0),1==r&&(i[n.level].minPos+=i[n.level].nodeSpacing,n.edges.length>1&&this._placeBranchNodes(n.edges,n.id,i,n.level))}},e._setLevel=function(t,e,i){for(var s=0;st)&&(o.level=t,e.length>1&&this._setLevel(t+1,o.edges,o.id))}},e._restoreNodes=function(){for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.nodes[t].xFixed=!1,this.nodes[t].yFixed=!1)}},function(t,e,i){function s(){this.constants.smoothCurves.enabled=!this.constants.smoothCurves.enabled;var t=document.getElementById("graph_toggleSmooth");t.style.background=1==this.constants.smoothCurves.enabled?"#A4FF56":"#FF8532",this._configureSmoothCurves(!1)}function o(){for(var t in this.calculationNodes)this.calculationNodes.hasOwnProperty(t)&&(this.calculationNodes[t].vx=0,this.calculationNodes[t].vy=0,this.calculationNodes[t].fx=0,this.calculationNodes[t].fy=0);1==this.constants.hierarchicalLayout.enabled?(this._setupHierarchicalLayout(),a.call(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),a.call(this,"graph_H_cg",1,"physics_centralGravity"),a.call(this,"graph_H_sc",1,"physics_springConstant"),a.call(this,"graph_H_sl",1,"physics_springLength"),a.call(this,"graph_H_damp",1,"physics_damping")):this.repositionNodes(),this.moving=!0,this.start()}function n(){var t="No options are required, default values used.",e=[],i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2");if(1==i.checked){if(this.constants.physics.barnesHut.gravitationalConstant!=this.backupConstants.physics.barnesHut.gravitationalConstant&&e.push("gravitationalConstant: "+this.constants.physics.barnesHut.gravitationalConstant),this.constants.physics.centralGravity!=this.backupConstants.physics.barnesHut.centralGravity&&e.push("centralGravity: "+this.constants.physics.centralGravity),this.constants.physics.springLength!=this.backupConstants.physics.barnesHut.springLength&&e.push("springLength: "+this.constants.physics.springLength),this.constants.physics.springConstant!=this.backupConstants.physics.barnesHut.springConstant&&e.push("springConstant: "+this.constants.physics.springConstant),this.constants.physics.damping!=this.backupConstants.physics.barnesHut.damping&&e.push("damping: "+this.constants.physics.damping),0!=e.length){t="var options = {",t+="physics: {barnesHut: {";for(var o=0;othis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},e._calculateForces=function(){this._calculateGravitationalForces(),this._calculateNodeForces(),this.constants.physics.springConstant>0&&(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic?this._calculateSpringForcesWithSupport():1==this.constants.physics.hierarchicalRepulsion.enabled?this._calculateHierarchicalSpringForces():this._calculateSpringForces())},e._updateCalculationNodes=function(){if(1==this.constants.smoothCurves.enabled&&1==this.constants.smoothCurves.dynamic){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},e._calculateGravitationalForces=function(){var t,e,i,s,o,n=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(o=0;oSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,m=4/3,g=this.constants.physics.repulsion.nodeDistance,f=g;for(d=0;di&&(r=.5*f>i?1:v*i+m,r*=0==n?1:1+n*this.constants.clustering.forceAmplification,r/=i,s=t*r,o=e*r,a.fx-=s,a.fy-=o,h.fx+=s,h.fy+=o)}}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l=this.calculationNodes,c=this.calculationNodeIndices,p=this.constants.physics.hierarchicalRepulsion.nodeDistance;for(h=0;hi?-Math.pow(u*i,2)+Math.pow(u*p,2):0,0==i?i=.01:n/=i,s=t*n,o=e*n,r.fx-=s,r.fy-=o,a.fx+=s,a.fy+=o}},e._calculateHierarchicalSpringForces=function(){for(var t,e,i,s,o,n,r,a,h,d=this.edges,l=this.calculationNodes,c=this.calculationNodeIndices,p=0;pn;n++)t=e[i[n]],this._getForceContribution(o.root.children.NW,t),this._getForceContribution(o.root.children.NE,t),this._getForceContribution(o.root.children.SW,t),this._getForceContribution(o.root.children.SE,t)}},e._getForceContribution=function(t,e){if(t.childrenCount>0){var i,s,o;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+s*s),o*t.calcSize>this.constants.physics.barnesHut.theta){0==o&&(o=.1*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}else if(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);else if(t.children.data.id!=e.id){0==o&&(o=.5*Math.random(),i=o);var n=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.mass/(o*o*o),r=i*n,a=s*n;e.fx+=r,e.fy+=a}}},e._formBarnesHutTree=function(t,e){for(var i,s=e.length,o=Number.MAX_VALUE,n=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,l=t[e[h]].y;o>d&&(o=d),d>r&&(r=d),n>l&&(n=l),l>a&&(a=l)}var c=Math.abs(r-o)-Math.abs(a-n);c>0?(n-=.5*c,a+=.5*c):(o+=.5*c,r-=.5*c);var p=1e-5,u=Math.max(p,Math.abs(r-o)),m=.5*u,g=.5*(o+r),f=.5*(n+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:g-m,maxX:g+m,minY:f-m,maxY:f+m},size:u,calcSize:1/u,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],this._placeInTree(v.root,i);this.barnesHutTree=v},e._updateBranchMass=function(t,e){var i=t.mass+e.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.mass,t.centerOfMass.y*=s,t.mass=i;var o=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")},e._placeInRegion=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+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},e._splitBranch=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)},e._insertRegion=function(t,e){var i,s,o,n,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY,n=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY,n=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,o=t.range.minY+r,n=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,o=t.range.minY+r,n=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:o,maxY:n},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},e._drawTree=function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},e._drawBranch=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()}}])}); -//# sourceMappingURL=vis.map \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 927ec3d1..8a3cd1fa 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 3.0.1-SNAPSHOT - * @date 2014-07-21 + * @date 2014-07-22 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com diff --git a/examples/timeline/19_vis_light_bundle.html b/examples/timeline/19_vis_light_bundle.html deleted file mode 100644 index 6572f0cb..00000000 --- a/examples/timeline/19_vis_light_bundle.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - Timeline | Light bundle - - - - - - - - - - - - -

- The light bundle of vis.js (vis-light.js or vis-light.min.js) don't have the external dependencies of moment.js and hammer.js bundled. You have to load these yourself before loading vis-light.js. This is useful in the case that your application is using moment.js and/or hammer.js itself too, in order not to load these libraries twice. Note that it is possible too to create your own vis.js bundle: the source code consists of common.js modules which is browserifiable. -

- -
- - - - \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 8a780cf5..f89d167a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -16,9 +16,6 @@ var DIST = './dist'; var VIS_JS = 'vis.js'; var VIS_MAP = 'vis.map'; var VIS_MIN_JS = 'vis.min.js'; -var VIS_LIGHT_JS = 'vis-light.js'; -var VIS_LIGHT_MAP = 'vis-light.map'; -var VIS_LIGHT_MIN_JS = 'vis-light.min.js'; var VIS_CSS = 'vis.css'; var VIS_MIN_CSS = 'vis.min.css'; @@ -55,23 +52,6 @@ var webpackConfig = { cache: true }; -var webpackConfigLight = { - entry: ENTRY, - output: { - library: 'vis', - libraryTarget: 'umd', - path: DIST, - filename: VIS_LIGHT_JS, - sourcePrefix: ' ' - }, - externals: [ - 'hammerjs', - 'moment' - ], - plugins: [ bannerPlugin ], - cache: true -}; - var uglifyConfig = { outSourceMap: VIS_MAP, output: { @@ -81,7 +61,6 @@ var uglifyConfig = { // create a single instance of the compiler to allow caching var compiler = webpack(webpackConfig); -var compilerLight = webpack(webpackConfigLight); // clean the dist/img directory gulp.task('clean', function (cb) { @@ -98,16 +77,6 @@ gulp.task('bundle-js', ['clean'], function (cb) { }); }); -gulp.task('bundle-js-light', ['clean'], function (cb) { - // update the banner contents (has a date in it which should stay up to date) - bannerPlugin.banner = createBanner(); - - compilerLight.run(function (err, stats) { - if (err) gutil.log(err); - cb(); - }); -}); - // bundle and minify css gulp.task('bundle-css', ['clean'], function () { var files = [ @@ -149,20 +118,15 @@ gulp.task('copy', ['clean'], function () { }); gulp.task('minify', ['bundle-js'], function (cb) { - // minify full version of vis.js var result = uglify.minify([DIST + '/' + VIS_JS], uglifyConfig); + fs.writeFileSync(DIST + '/' + VIS_MIN_JS, result.code); fs.writeFileSync(DIST + '/' + VIS_MAP, result.map); - // minify light version of vis.js (external dependencies excluded) - var result = uglify.minify([DIST + '/' + VIS_LIGHT_JS], uglifyConfig); - fs.writeFileSync(DIST + '/' + VIS_LIGHT_MIN_JS, result.code); - fs.writeFileSync(DIST + '/' + VIS_LIGHT_MAP, result.map); - cb(); }); -gulp.task('bundle', ['bundle-js', 'bundle-js-light', 'bundle-css', 'copy']); +gulp.task('bundle', ['bundle-js', 'bundle-css', 'copy']); // read command line arguments --bundle and --minify var bundle = 'bundle' in argv;