diff --git a/HISTORY.md b/HISTORY.md index d210f5b4..9ed7c690 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,7 +1,7 @@ # vis.js history http://visjs.org -## UNRELEASED, version 4.0.1 +## 2015-05-28, version 4.1.0 ### Network diff --git a/bower.json b/bower.json index 3de35e6c..62594f91 100644 --- a/bower.json +++ b/bower.json @@ -1,10 +1,10 @@ { "name": "vis", - "version": "4.0.1-SNAPSHOT", + "version": "4.1.1-SNAPSHOT", "main": ["dist/vis.min.js", "dist/vis.min.css"], "description": "A dynamic, browser-based visualization library.", "homepage": "http://visjs.org/", - "license": "(Apache-2.0 OR MIT)", + "license": ["Apache-2.0", "MIT"], "repository": { "type": "git", "url": "git://github.com/almende/vis.git" diff --git a/dist/vis.map b/dist/vis.map index 944ffd9e..1a0868f3 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","convertDot","input","DOTToGraph","convertGephi","options","parseGephi","Graph","Error","moment","hammer","Hammer","_interopRequireDefault","obj","__esModule","default","_classCallCheck","instance","Constructor","TypeError","Object","defineProperty","value","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","prototype","_componentsNodesCluster","_componentsNodesCluster2","ClusterEngine","body","_this","clusteredNodes","defaultOptions","extend","emitter","on","hubsize","undefined","_getHubSize","tyepof","_checkOptions","nodesToCluster","nodeIndices","node","nodes","edges","push","clusterByConnection","emit","arguments","refreshData","joinCondition","childNodesObj","childEdgesObj","nodeId","clonedOptions","_cloneOptions","_i","edge","_cluster","clusters","visibleEdges","j","hidden","childNodeId","_getConnectedId","_checkIfUsed","keys","edgeId","cluster","clusterNodeProperties","x","y","fixed","parentNodeId","parentClonedOptions","childClonedOptions","item","type","deepExtend","amountOfConnections","newEdges","clusterEdgeProperties","childNode","toId","fromId","otherNodeId","childKeys","from","to","randomUUID","functions","createEdge","processProperties","childNodesOptions","childEdgesOptions","clusterId","label","pos","_getClusterPosition","clusterNode","createNode","isCluster","containedNodes","containedEdges","_createClusterEdges","hasOwnProperty","togglePhysics","connect","console","log","minX","maxX","minY","maxY","clusterNodeId","containedNode","vx","vy","edgeType","cleanup","disconnect","clusteredNode","_clusterNode","physics","newEdge","clusterStack","findNode","pop","fromArray","toArray","max","counter","average","averageSquared","hubCounter","largestHub","Math","pow","letiance","standardDeviation","sqrt","hubThreshold","floor","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","parentNode","removeChild","getSVGElement","svgContainer","element","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","group","labelObj","point","drawPoints","style","setAttributeNS","size","styles","className","xOffset","yOffset","content","textContent","drawBar","width","height","rect","data","Array","isArray","_options","_data","_fieldId","fieldId","_type","field","convert","_subscribers","add","setOptions","queue","_queue","destroy","replace","event","callback","subscribers","subscribe","off","filter","listener","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","len","_addItem","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","args","ids","firstType","getType","returnType","allowedValues","indexOf","itemId","_getItem","order","_sort","fields","_filterFields","result","getIds","getDataSet","forEach","map","mappedItems","filteredItem","isString","name","sort","a","b","av","bv","remove","removedId","removedIds","_remove","isNumber","clear","maxField","itemField","min","minField","distinct","values","fieldType","count","prop","exists","d","types","raw","converted","JSON","stringify","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","object","flush","methods","original","method","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","v","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","create","getMouseX","clientX","targetTouches","getMouseY","clientY","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","getNumberOfColumns","getNumberOfRows","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","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","color","fontWeight","padding","innerHTML","left","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","addEventListener","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","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","top","right","lineWidth","font","ymin","ymax","f","hue","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","start","getCurrent","next","end","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","index","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","cross","topSideVisible","h","s","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","window","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","Date","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","preventDefault","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","removeEventListener","boundingRect","getBoundingClientRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","line","dot","dom","border","background","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","elem","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","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","step2","step5","toPrecision","getStep","groups","forthArgument","autoResize","orientation","axis","maxHeight","minHeight","_create","domProps","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","configurator","Configurator","configureOptions","setGroups","setItems","_redraw","Core","Validator","printStyle","allOptions","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animation","fit","focus","itemData","valueOf","e","middle","getItemRange","dataset","minItem","maxStartItem","maxEndItem","getAbsoluteLeft","centerContainer","getAbsoluteTop","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","time","snappedTime","getTarget","what","hasParent","foreground","labelSet","groupId","pageX","srcEvent","pageY","linegraph","getLegend","isGroupVisible","visibility","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","convertHiddenOptions","repeat","dateItem","toDate","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","duration","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","prevValue","newValue","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","formattingFunction","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeRange","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","returnValue","isMajor","steps","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","selectiveExtend","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","easingFunctions","join","initTime","anyChanged","dragging","ease","done","changed","newStart","newEnd","isNaN","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","collidingItem","jj","other","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","trim","toLowerCase","isVisible","box","dirty","parent","displayed","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","selected","_repaintDeleteButton","show","hide","repositionX","align","repositionY","itemSetHeight","select","unselect","groupChanged","_moveToGroup","setParent","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","template","_contentToString","Element","removeAttribute","dataAttributes","attributes","setAttribute","removeCssText","addCssText","outerHTML","baseClassName","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","warned","toUpperCase","substring","currentTimeTimer","setCurrentTime","t","getCurrentTime","eventParams","drag","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","Number","minWidth","stepPixels","zeroCrossing","amountOfSteps","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","groupArray","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","ceil","valueAtBottom","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","selectiveBridgeObject","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","selectiveDeepExtend","mergeOptions","interpolation","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","enabled","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","getData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","orderedItems","byStart","byEnd","checkRangedItems","inner","marker","removeClassName","addClassName","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","slice","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","updateProperty","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","splice","removeItem","array","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","binarySearchCustom","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","multiselect","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","isFirst","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","asSize","option","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","constructor","_removeItem","groupOptions","equalArray","oldGroupId","oldSubGroupId","oldGroup","_constructByEndArray","itemProps","initialX","ctrlKey","_onDragStartAddItem","xAbs","newItem","initial","initialStart","initialEnd","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","sideBySide","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarFunctions","LineFunctions","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","binarySearchValue","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","tempGroups","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","childNodes","nodeValue","clickToUse","edgeIndices","once","eventListeners","onTap","onTouch","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onMouseWheel","onPinch","onMouseMove","onRelease","onContext","view","bindEventListeners","images","_modulesGroups2","_modulesCanvas2","selectionHandler","_modulesSelectionHandler2","interactionHandler","_modulesInteractionHandler2","_modulesView2","renderer","_modulesCanvasRenderer2","_modulesPhysicsEngine2","layoutEngine","_modulesLayoutEngine2","clustering","_modulesClustering2","manipulation","_modulesManipulationSystem2","nodesHandler","_modulesNodesHandler2","edgesHandler","_modulesEdgesHandler2","_sharedConfigurator2","_optionsJs","pixelRatio","_modulesGroups","_modulesNodesHandler","_modulesEdgesHandler","_modulesPhysicsEngine","_modulesClustering","_modulesCanvasRenderer","_modulesCanvas","_modulesView","_modulesInteractionHandler","_modulesSelectionHandler","_modulesLayoutEngine","_modulesManipulationSystem","_sharedConfigurator","_sharedValidator","_sharedValidator2","Activator","layout","interaction","configure","networkOptions","global","setModuleOptions","activator","_createKeyBinds","_updateVisibleIndices","_this2","updatePhysicsData","_updateValueRange","unselectAll","dotData","gephi","gephiData","recursiveDOMDelete","valueTotal","setValueRange","isActive","active","canvasToDOM","DOMtoCanvas","openCluster","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","getBoundingBox","getConnectedNodes","objectId","getEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","selectNodes","selectEdges","getViewPosition","releaseNode","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","src","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","test","merge","setValue","split","o","addNode","graphs","attr","g","addEdge","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","setProp","names","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","String","NODE_ATTR_MAPPING","image","shape","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","arrows","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","optionsObj","inheritColor","parseColor","gEdges","gNodes","gEdge","source","gNode","highlight","hover","propagating","parse","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","getTime","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","n","v4","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","r","toString","_seedBytes","uuid","hammerUtil","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","properties","_redrawTimer","set","listeners","events","scrollTopMin","customTimes","redrawCount","_initAutoResize","component","appliedOptions","_stopAutoResize","addCustomTime","timestamp","some","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","_ColorPicker","_ColorPicker2","parentModule","defaultContainer","changedOptions","allowCreation","showButton","moduleOptions","domElements","colorPicker","wrapper","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","base","_len","_key","div","objectLabel","selectedValue","_update","_makeLabel","defaultValue","oninput","checkbox","checked","_this3","defaultColor","_showColorPicker","_this4","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","checkOnly","visibleInSet","subObj","newPath","copyAndExtendArray","_getValue","_handleArray","_makeTextInput","_makeCheckbox","solver","enabledPath","enabledValue","_makeColorField","_makeDropdown","_makeRange","_constructOptions","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","checkFields","__type__","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","Boolean","nodeType","_isAMomentObject","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","copyArray","prefix","str","matrix","string","boolean","number","nada","undef","any","inputHandler","isTouching","isFinal","isReleasing","offTouch","offRelease","combinedData","groupLabel","intersections","_getDataIntersections","_getStackedYRange","accumulatedNegative","accumulatedPositive","xpos","coreDistance","amount","resolved","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","prevKey","Groups","defaultIndex","groupsArray","groupIndex","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_componentsNode","_componentsNode2","_componentsSharedLabel","_componentsSharedLabel2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","face","strokeColor","code","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","total","shadow","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","_properties","positionInitially","changedData","dataChanged","constructorClass","dataArray","boundingBox","nodeList","nodeObj","edgeList","_componentsEdge","_componentsEdge2","EdgesHandler","edgesListeners","scaleFactor","inherit","opacity","dashes","hoverWidth","selectionWidth","selfReferenceSize","smooth","roundness","emitChange","edgeData","edgeOptions","dynamic","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","showInternalIds","via","supportNodes","colorDirty","_componentsPhysicsBarnesHutSolver","_componentsPhysicsBarnesHutSolver2","_componentsPhysicsRepulsionSolver","_componentsPhysicsRepulsionSolver2","_componentsPhysicsHierarchicalRepulsionSolver","_componentsPhysicsHierarchicalRepulsionSolver2","_componentsPhysicsSpringSolver","_componentsPhysicsSpringSolver2","_componentsPhysicsHierarchicalSpringSolver","_componentsPhysicsHierarchicalSpringSolver2","_componentsPhysicsCentralGravitySolver","_componentsPhysicsCentralGravitySolver2","_componentsPhysicsFA2BasedRepulsionSolver","_componentsPhysicsFA2BasedRepulsionSolver2","_componentsPhysicsFA2BasedCentralGravitySolver","_componentsPhysicsFA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","freezeCache","renderTimer","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","initPhysics","selectiveNotDeepExtend","init","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","calculateForces","moveNodes","revert","nodeIds","nodesPresent","vminCorrected","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","DOMobject","giveRange","isDate","match","ASPDateRegex","exec","assignAllKeys","fillIfDefined","allowDeletion","protoExtend","isMoment","toISOString","newArr","classes","action","useCapture","navigator","userAgent","attachEvent","detachEvent","srcElement","asBoolean","asNumber","asString","asElement","hexToRGB","hex","shorthandRegex","overrideOpacity","rgb","RGBToHex","red","green","blue","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","RGBToHSV","minRGB","maxRGB","saturation","cssUtil","cssText","parts","currentStyles","newStyles","removeStyles","HSVToRGB","q","isOk","isValidRGBA","rgba","referenceObject","objectTo","bridgeObject","mergeTarget","field2","maxIterations","iteration","low","high","searchResult","sidePreference","nextValue","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedrawRequests","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","w","save","translate","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","restore","resize","updateBoundingBox","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","connected","browserType","Canvas","resizeTimer","resizeFunction","hammerFrame","_cleanUp","tabIndex","_bindHammer","pinch","_prepareValue","emitEvent","oldWidth","oldHeight","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","specificNodes","zoomLevel","initialZoom","positionDefined","predefinedPosition","_getRange","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_lockedRedraw","finished","_componentsNavigationHandler","_componentsNavigationHandler2","_componentsPopup","_componentsPopup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","changedPointers","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdges","selectedNodes","selectObject","selectionObj","xFixed","yFixed","_handleDragStart","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","Node","Edge","SelectionHandler","hoverObj","selectConnectedEdges","updateSelection","selectionChanged","deselectObject","eventType","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","randomSeed","optionsBackup","hierarchical","levelSeparation","sortMethod","hierarchicalLevels","setupHierarchicalLayout","prevHierarchicalState","adaptAllOptions","nodesArray","isFixed","angle","seededRandom","definedLevel","undefinedLevel","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","positionedNodes","_placeBranchNodes","hubSize","_setLevel","minLevel","_setLevelDirected","parentId","parentLevel","childNodeLevel","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","editNode","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","globalOptions","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","alert","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","positions","findBorderPositions","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","_this5","_this6","CanvasRenderingContext2D","circle","square","s2","ir","triangleDown","star","diamond","roundRect","r2d","ellipse","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","database","wEllipse","hEllipse","ymb","yeb","arrow","xt","yt","xi","yi","xl","yl","xr","yr","dashedLine","x2","y2","pattern","patternLength","slope","distRemaining","patternIndex","dashLength","overlay","_onTapOverlay","bodyHammer","prevent_default","_hasParent","deactivate","keycharm","escListener","activate","unbind","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError","mixin","_callbacks","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","utils_hooks__hooks","hookCallback","setHookCallback","res","hasOwnProp","create_utc__createUTC","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","getParsingFlags","_pf","valid__isValid","_isValid","flags","_strict","bigHour","valid__createInvalid","NaN","copyConfig","val","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","loadLocale","oldLocale","globalLocale","_abbr","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","targetLength","forceSign","output","addFormatToken","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","isValid","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","msgWithStack","deprecateSimple","deprecations","configFromISO","l","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","ms","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","local__createLocal","week","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","daysToAdd","getUTCDay","getSetDayOfYear","startOf","defaults","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","sod","calendar","inputMs","endOf","isBetween","absFloor","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","_processing","propagatedHandler","_handled","stopped","firstTarget","_handlers","Manager","PropagatingHammer","_on","_off","_emit","_destroy","pointerType","handler","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","arg","each","iterator","dest","child","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","property","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","pointersLen","pointers","changedPointersLen","INPUT_START","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","rotation","getRotation","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","getVelocity","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","rgbObj","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","putImageData","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newLeft","_sharedLabel","_sharedLabel2","_nodesShapesBox","_nodesShapesBox2","_nodesShapesCircle","_nodesShapesCircle2","_nodesShapesCircularImage","_nodesShapesCircularImage2","_nodesShapesDatabase","_nodesShapesDatabase2","_nodesShapesDiamond","_nodesShapesDiamond2","_nodesShapesDot","_nodesShapesDot2","_nodesShapesEllipse","_nodesShapesEllipse2","_nodesShapesIcon","_nodesShapesIcon2","_nodesShapesImage","_nodesShapesImage2","_nodesShapesSquare","_nodesShapesSquare2","_nodesShapesStar","_nodesShapesStar2","_nodesShapesText","_nodesShapesText2","_nodesShapesTriangle","_nodesShapesTriangle2","_nodesShapesTriangleDown","_nodesShapesTriangleDown2","imagelist","grouplist","baseSize","baseFontSize","labelModule","status","groupObj","imageObj","distanceToBorder","sizeDiff","fontDiff","parentOptions","newOptions","parsedColor","_slicedToArray","Symbol","_arr","_n","_e","_s","err","Label","yLine","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor","_getColor2","fontColor","_setAlignment","_setAlignment2","lineJoin","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_edgesBezierEdgeDynamic","_edgesBezierEdgeDynamic2","_edgesBezierEdgeStatic","_edgesBezierEdgeStatic2","_edgesStraightEdge","_edgesStraightEdge2","baseWidth","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","BarnesHutSolver","barnesHutTree","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","_inherits","subClass","superClass","__proto__","_get","_x","_x2","_x3","_again","receiver","desc","getOwnPropertyDescriptor","getPrototypeOf","_BarnesHutSolver2","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","_BarnesHutSolver","degree","_CentralGravitySolver2","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_CentralGravitySolver","_Node2","_Node3","Cluster","_Node","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","_stopMovement","configureKeyboardBindings","loadNavigationElements","cleanNavigation","_navigationReleaseOverload","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","boundAction","unbindFromRedraw","Popup","doShow","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","webpackContext","req","resolve","_utilNodeBase","_utilNodeBase2","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","enableShadow","disableShadow","_utilCircleImageBase","_utilCircleImageBase2","Circle","_CircleImageBase","diameter","_drawRawCircle","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","labelOffset","_distanceToBorder","Database","networkScaleInv","_utilShapeBase","_utilShapeBase2","Diamond","_ShapeBase","_resizeShape","_drawShape","Dot","Ellipse","Icon","_icon","iconTextSpacing","Square","Star","Text","Triangle","TriangleDown","_utilBezierEdgeBase","_utilBezierEdgeBase2","BezierEdgeDynamic","_BezierEdgeBase","setupSupportNode","parentEdgeId","positionBezierNode","quadraticCurveTo","nearNode","_findBorderPositionBezier","x1","y1","x3","y3","_getDistanceToBezierEdge","_x4","_x5","_x6","BezierEdgeStatic","_getViaCoordinates","xVia","yVia","pi","originalAngle","myAngle","_utilEdgeBase","_utilEdgeBase2","StraightEdge","_EdgeBase","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_getDistanceToLine","webpackPolyfill","paths","__webpack_amd_options__","CircleImageBase","ratio","globalAlpha","drawImage","labelDimensions","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","ShapeBase","sizeMultiplier","_EdgeBase2","_EdgeBase3","BezierEdgeBase","distanceToPoint","difference","minDistance","lastX","lastY","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData","_getCircleData2","_circle","lineCap","setLineDash","lineDashOffset","_getCircleData3","_getCircleData32","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","_angle","_getCircleData7","_getCircleData72","_length"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","convertDot","input","DOTToGraph","convertGephi","options","parseGephi","Graph","Error","moment","hammer","Hammer","data","conversion","props","dot","width","height","line","undefined","start","prototype","isVisible","range","interval","end","redraw","dom","box","document","createElement","content","className","appendChild","dirty","parent","parentNode","foreground","background","axis","displayed","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","selected","offsetHeight","offsetWidth","_repaintDeleteButton","show","hide","removeChild","repositionX","toScreen","align","left","style","repositionY","orientation","item","top","bottom","itemSetHeight","itemSet","lineHeight","select","unselect","setData","groupChanged","group","_moveToGroup","setParent","anchor","editable","remove","deleteButton","me","title","on","event","stopPropagation","removeFromDataSet","element","template","itemData","itemsData","get","changed","_contentToString","Element","innerHTML","type","removeAttribute","dataAttributes","length","attributes","Array","isArray","Object","keys","i","name","value","setAttribute","removeCssText","addCssText","outerHTML","window","propagating","preventDefault","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","apply","_firstTarget","_processing","split","events","match","propagatedHandler","srcEvent","_handled","stopped","firstTarget","elem","_handlers","_options","Manager","PropagatingHammer","extend","_on","_off","off","_emit","emit","_destroy","destroy","pointerType","isFirst","target","isFinal","handler","forEach","push","filter","h","eventType","exportName","setTimeoutContext","fn","timeout","context","setTimeout","bindFn","invokeArrayArg","arg","each","obj","iterator","hasOwnProperty","dest","src","merge","inherit","child","base","properties","childP","baseP","create","constructor","_super","arguments","boolOrFn","val","args","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","types","splitStr","addEventListener","removeEventListeners","removeEventListener","hasParent","node","inStr","str","find","indexOf","trim","inArray","findByKey","toArray","slice","uniqueArray","key","sort","results","values","a","b","prefixed","property","prefix","prop","camelProp","toUpperCase","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","callback","self","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","now","deltaTime","angle","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","scale","getScale","rotation","getRotation","computeIntervalInputData","offset","offsetDelta","prevDelta","x","y","velocity","velocityX","velocityY","direction","last","lastInterval","COMPUTE_INTERVAL","v","getVelocity","abs","clientX","round","clientY","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","p1","p2","PROPS_XY","Math","sqrt","atan2","PI","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","concat","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","targetTouches","changedTargetTouches","touch","mouse","TouchAction","set","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","defaults","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","count","recognizers","preset","handlers","touchAction","toggleCssProps","add","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","Date","MOBILE_REGEX","test","navigator","userAgent","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","button","which","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","toLowerCase","replace","isTouch","storeIndex","pointerId","splice","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","update","getTouchAction","join","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","index","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","isValid","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","clearTimeout","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","stop","force","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","__webpack_amd_options__","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","giveRange","min","max","total","isString","String","isDate","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","fillIfDefined","allowDeletion","protoExtend","other","selectiveExtend","selectiveDeepExtend","TypeError","deepExtend","selectiveNotDeepExtend","equalArray","len","convert","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","getBoundingClientRect","getAbsoluteTop","addClassName","classes","removeClassName","array","updateProperty","action","listener","useCapture","attachEvent","detachEvent","returnValue","getTarget","srcElement","nodeType","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","s","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","parts","currentStyles","newStyles","removeStyles","HSVToRGB","floor","f","q","t","isOk","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","mergeOptions","mergeTarget","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","global","utils_hooks__hooks","hookCallback","setHookCallback","res","hasOwnProp","create_utc__createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","getParsingFlags","_pf","valid__isValid","_isValid","flags","_d","getTime","_strict","bigHour","valid__createInvalid","NaN","copyConfig","to","from","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","ceil","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","j","next","loadLocale","oldLocale","locales","globalLocale","_abbr","code","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","number","targetLength","forceSign","output","sign","addFormatToken","token","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","Function","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","msgWithStack","deprecateSimple","deprecations","configFromISO","l","string","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","M","ms","setFullYear","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","day","local__createLocal","week","dayOfYear","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","weekday","daysToAdd","getUTCDay","getSetDayOfYear","clone","startOf","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","getFullYear","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","hour","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","hours","minutes","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","diff","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","sod","calendar","inputMs","endOf","isBetween","isSame","absFloor","asFloat","delta","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","defaultFormat","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","charAt","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","source","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","as","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","lang","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","dates","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","ii","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","getSVGElement","svgContainer","shift","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","textContent","drawBar","rect","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","subscribers","subscribe","unsubscribe","_trigger","params","senderId","subscriber","addedIds","_addItem","updatedIds","updatedData","addOrUpdate","_updateItem","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","getIds","getDataSet","mappedItems","filteredItem","av","bv","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","fieldType","exists","raw","converted","JSON","stringify","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","entry","_ids","_onEvent","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","getMouseY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","pointRight","pointTop","pointCross","position","noCanvas","fontWeight","padding","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","_resizeCenter","setCameraPosition","pos","horizontal","vertical","setArmRotation","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","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","prettyStep","text","xText","yText","zText","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","bDiff","crossproduct","crossProduct","radius","arc","surface","corners","xWidth","yWidth","surfaces","avg","transCenter","leftButtonDown","_onMouseUp","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","parameters","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","borderRadius","boxShadow","borderLeft","contentWidth","contentHeight","dotWidth","dotHeight","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","timeAxis","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","groupsData","getEventProperties","oncontextmenu","configurator","Configurator","configureOptions","setGroups","setItems","_redraw","Core","Validator","printStyle","allOptions","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animation","fit","focus","getItemRange","dataset","minItem","maxStartItem","maxEndItem","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","labelSet","groupId","pageX","pageY","showCurrentTime","backgroundVertical","warned","current","substring","currentTimeTimer","setCurrentTime","getCurrentTime","_isResized","resized","_previousWidth","_previousHeight","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","_applyRange","updateHiddenDates","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","onTouch","isTouching","onRelease","isReleasing","offTouch","offRelease","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","startDate","endDate","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","switchedYear","switchedMonth","switchedDay","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","hammerUtil","Activator","onMouseWheel","isActive","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","_redrawTimer","scrollTop","scrollTopMin","customTimes","redrawCount","clickToUse","activator","_initAutoResize","component","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","addCustomTime","timestamp","some","removeCustomTime","getVisibleItems","getWindow","borderRootHeight","borderRootWidth","autoHeight","containerHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","visibility","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","groupOrder","selectable","multiselect","updateTime","updateGroup","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","removeItem","_getType","_removeItem","groupData","groupOptions","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","initialX","dragLeft","dragRight","ctrlKey","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","initial","initialStart","initialEnd","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","markerHeight","lastMarkerHeight","limitSize","customOrderedItems","_updateVisibleItems","nostack","_calculateHeight","offsetTop","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","EPSILON","aTime","bTime","iMax","collidingItem","jj","collision","newTop","baseClassName","getComputedStyle","maxWidth","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setFormat","setMinimumStep","first","roundToMinor","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","currentWeek","currentMonth","currentYear","marginLeft","onTop","itemSubgroup","totalHeight","newHeight","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","nodeValue","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","bodyHammer","prevent_default","_hasParent","deactivate","keycharm","escListener","activate","display","unbind","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","eventParams","drag","_interopRequireDefault","__esModule","default","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_ColorPicker","_ColorPicker2","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","showButton","moduleOptions","domElements","colorPicker","wrapper","_clean","_this","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","path","_this2","_len","_key","div","objectLabel","selectedValue","_update","_makeLabel","oninput","checkbox","checked","_this3","defaultColor","_showColorPicker","_this4","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_bindHammer","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","rgbObj","alpha","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","pinch","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newLeft","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","checkFields","__type__","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","matrix","boolean","nada","undef","linegraph","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","icons","alignZeros","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","svgElements","groupsUsingDefaultStyles","COUNTER","svg","framework","BarFunctions","LineFunctions","_updateAllGroupData","_updateGroup","removeGroup","addGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getData","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","lineOffset","stepPixels","zeroCrossing","amountOfSteps","tempGroups","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","convertValue","setZeroPosition","linegraphOptions","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconHeight","iconOffset","groupArray","drawIcon","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","stepSize","marginRange","valueAtBottom","marginEnd","maxLabelSize","stepIndex","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","invertedValue","convertedValue","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","customRange","formattingFunction","marginStart","deadSpace","majorSteps","minorSteps","setFirst","safeRange","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","niceStart","niceEnd","rounded","previous","steps","usingDefaultStyle","zeroPosition","Line","Bar","Points","SVGcontainer","fillPath","fillHeight","outline","barWidth","bar1Height","bar2Height","icon","combinedData","groupLabel","intersections","_getDataIntersections","_getStackedYRange","accumulatedNegative","accumulatedPositive","xpos","coreDistance","amount","resolved","_catmullRom","_linear","dFill","_catmullRomUniform","p0","bp1","bp2","normalization","d1","d2","d3","A","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","prevKey","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","any","nodes","nodeIndices","edges","edgeIndices","functions","createNode","createEdge","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","view","bindEventListeners","images","_modulesGroups2","_modulesCanvas2","selectionHandler","_modulesSelectionHandler2","interactionHandler","_modulesInteractionHandler2","_modulesView2","renderer","_modulesCanvasRenderer2","_modulesPhysicsEngine2","layoutEngine","_modulesLayoutEngine2","clustering","_modulesClustering2","manipulation","_modulesManipulationSystem2","nodesHandler","_modulesNodesHandler2","edgesHandler","_modulesEdgesHandler2","_sharedConfigurator2","_optionsJs","_modulesGroups","_modulesNodesHandler","_modulesEdgesHandler","_modulesPhysicsEngine","_modulesClustering","_modulesCanvasRenderer","_modulesCanvas","_modulesView","_modulesInteractionHandler","_modulesSelectionHandler","_modulesLayoutEngine","_modulesManipulationSystem","_sharedConfigurator","_sharedValidator","_sharedValidator2","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","updatePhysicsData","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","Groups","defaultIndex","groupsArray","groupIndex","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_componentsNode","_componentsNode2","_componentsSharedLabel","_componentsSharedLabel2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","image","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","_properties","positionInitially","changedData","dataChanged","constructorClass","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_sharedLabel","_sharedLabel2","_nodesShapesBox","_nodesShapesBox2","_nodesShapesCircle","_nodesShapesCircle2","_nodesShapesCircularImage","_nodesShapesCircularImage2","_nodesShapesDatabase","_nodesShapesDatabase2","_nodesShapesDiamond","_nodesShapesDiamond2","_nodesShapesDot","_nodesShapesDot2","_nodesShapesEllipse","_nodesShapesEllipse2","_nodesShapesIcon","_nodesShapesIcon2","_nodesShapesImage","_nodesShapesImage2","_nodesShapesSquare","_nodesShapesSquare2","_nodesShapesStar","_nodesShapesStar2","_nodesShapesText","_nodesShapesText2","_nodesShapesTriangle","_nodesShapesTriangle2","_nodesShapesTriangleDown","_nodesShapesTriangleDown2","Node","imagelist","grouplist","globalOptions","baseSize","baseFontSize","predefinedPosition","labelModule","status","groupObj","imageObj","load","distanceToBorder","sizeDiff","fontDiff","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray","Symbol","_arr","_n","_e","_s","err","Label","yLine","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor","_getColor2","fontColor","_setAlignment","_setAlignment2","lineJoin","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_inherits","subClass","superClass","__proto__","_get","_x","_x2","_x3","_again","receiver","desc","getOwnPropertyDescriptor","getPrototypeOf","_utilNodeBase","_utilNodeBase2","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","roundRect","enableShadow","disableShadow","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","_utilCircleImageBase","_utilCircleImageBase2","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","ratio","networkScaleInv","globalAlpha","drawImage","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","save","clip","_drawImageAtPosition","restore","_drawImageLabel","_distanceToBorder","Database","database","_utilShapeBase","_utilShapeBase2","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","iconTextSpacing","Image","Square","Star","Text","Triangle","TriangleDown","_componentsEdge","_componentsEdge2","EdgesHandler","edgesListeners","arrows","scaleFactor","dashes","hoverWidth","selectionWidth","selfReferenceSize","smooth","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","via","supportNodes","edgeType","colorDirty","_edgesBezierEdgeDynamic","_edgesBezierEdgeDynamic2","_edgesBezierEdgeStatic","_edgesBezierEdgeStatic2","_edgesStraightEdge","_edgesStraightEdge2","Edge","baseWidth","connected","_setInteractionWidths","changeInType","cleanup","togglePhysics","attachEdge","detachEdge","widthDiff","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","_utilBezierEdgeBase","_utilBezierEdgeBase2","BezierEdgeDynamic","_BezierEdgeBase","setupSupportNode","parentEdgeId","positionBezierNode","quadraticCurveTo","nearNode","_findBorderPositionBezier","x1","y1","x2","y2","x3","y3","_getDistanceToBezierEdge","_x4","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","_getViaCoordinates","xVia","yVia","minDistance","lastX","lastY","_getDistanceToLine","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData","_getCircleData2","_circle","lineCap","pattern","setLineDash","lineDashOffset","_getCircleData3","_getCircleData32","dashedLine","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","arrow","_angle","_getCircleData7","_getCircleData72","_length","_x5","_x6","BezierEdgeStatic","factor","pi","originalAngle","myAngle","_utilEdgeBase","_utilEdgeBase2","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_componentsPhysicsBarnesHutSolver","_componentsPhysicsBarnesHutSolver2","_componentsPhysicsRepulsionSolver","_componentsPhysicsRepulsionSolver2","_componentsPhysicsHierarchicalRepulsionSolver","_componentsPhysicsHierarchicalRepulsionSolver2","_componentsPhysicsSpringSolver","_componentsPhysicsSpringSolver2","_componentsPhysicsHierarchicalSpringSolver","_componentsPhysicsHierarchicalSpringSolver2","_componentsPhysicsCentralGravitySolver","_componentsPhysicsCentralGravitySolver2","_componentsPhysicsFA2BasedRepulsionSolver","_componentsPhysicsFA2BasedRepulsionSolver2","_componentsPhysicsFA2BasedCentralGravitySolver","_componentsPhysicsFA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","freezeCache","renderTimer","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","initPhysics","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","calculateForces","moveNodes","revert","nodeIds","vx","vy","nodesPresent","vminCorrected","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","BarnesHutSolver","barnesHutTree","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","_BarnesHutSolver2","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","_BarnesHutSolver","degree","_CentralGravitySolver2","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_CentralGravitySolver","_componentsNodesCluster","_componentsNodesCluster2","ClusterEngine","clusteredNodes","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","_cloneOptions","_cluster","clusters","visibleEdges","childNodeId","_getConnectedId","_checkIfUsed","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","amountOfConnections","newEdges","clusterEdgeProperties","childNode","otherNodeId","childKeys","processProperties","childNodesOptions","childEdgesOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","clusterNodeId","clusteredNode","_clusterNode","newEdge","nodesArray","average","averageSquared","hubCounter","largestHub","letiance","standardDeviation","hubThreshold","_Node2","_Node3","Cluster","_Node","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedrawRequests","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","hammerFrame","_cleanUp","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","specificNodes","zoomLevel","initialZoom","positionDefined","_getRange","numberOfNodes","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_lockedRedraw","finished","_componentsNavigationHandler","_componentsNavigationHandler2","_componentsPopup","_componentsPopup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent","nodesChanges","edgesChanges","selectObject","selectionObj","xFixed","yFixed","_handleDragStart","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","_stopMovement","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","boundAction","unbindFromRedraw","Popup","doShow","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","randomSeed","optionsBackup","hierarchical","levelSeparation","sortMethod","hierarchicalLevels","setupHierarchicalLayout","prevHierarchicalState","adaptAllOptions","isFixed","seededRandom","definedLevel","undefinedLevel","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","positionedNodes","_placeBranchNodes","hubSize","_setLevelByHubsize","minLevel","_setLevelDirected","parentId","parentLevel","childNodeLevel","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","positions","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","_this5","_this6","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","o","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","imageBroken","url","brokenUrl","img","onload","onerror","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index eee8e80d..563ea15b 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 4.0.1-SNAPSHOT - * @date 2015-05-22 + * @version 4.1.1-SNAPSHOT + * @date 2015-05-28 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,21 +22,21 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(57),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(21),BackgroundItem:i(22),BoxItem:i(20),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Images:i(37),dotparser:i(38),gephiParser:i(39)},e.network.convertDot=function(t){return e.network.dotparser.DOTToGraph(t)},e.network.convertGephi=function(t,i){return e.network.gephiParser.parseGephi(t,i)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(40),e.hammer=i(41),e.Hammer=i(41)},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=t&&i.push(n.id)}for(var o=0;o0&&Object.keys(s).length>0&&i.push({nodes:n,edges:s})}}}for(var o=0;oo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t){var e=void 0===arguments[1]?!0:arguments[1];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var i=this.body.nodes[t],o=i.containedNodes,n=i.containedEdges;for(var s in o)if(o.hasOwnProperty(s)){var r=this.body.nodes[s];r=o[s],r.x=i.x,r.y=i.y,r.vx=i.vx,r.vy=i.vy,r.options.hidden=!1,r.togglePhysics(!0),delete this.clusteredNodes[s]}for(var a in n)if(n.hasOwnProperty(a)){var d=n[a];if(void 0===this.body.nodes[d.fromId]||void 0===this.body.nodes[d.toId])d.edgeType.cleanup(),d.disconnect(),delete this.body.edges[a];else if(void 0!==this.clusteredNodes[d.fromId]||void 0!==this.clusteredNodes[d.toId]){var l=void 0,u=void 0,c=this.clusteredNodes[d.fromId]||this.clusteredNodes[d.toId],p=c.clusterId,f=this.body.nodes[p];if(f.containedEdges[a]=d,d.from.options.hidden!==!0&&d.to.options.hidden!==!0){void 0!==this.clusteredNodes[d.fromId]?(l=p,u=d.toId):(l=d.fromId,u=p);var m=this._cloneOptions(d,"edge"),v="clusterEdge:"+h.randomUUID();h.deepExtend(m,f.clusterEdgeProperties),h.deepExtend(m,{from:l,to:u,hidden:!1,physics:!0,id:v});var g=this.body.functions.createEdge(m);this.body.edges[v]=g,this.body.edges[v].connect()}}else d.options.hidden=!1,d.togglePhysics(!0)}for(var y=0;yo;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.options.drawPoints.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.options.drawPoints.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*o.options.drawPoints.size),a.setAttributeNS(null,"width",o.options.drawPoints.size),a.setAttributeNS(null,"height",o.options.drawPoints.size)),void 0!==o.options.drawPoints.styles&&a.setAttributeNS(null,"style",o.group.options.drawPoints.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var o=this._options.type[i];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[i]="Date":this._type[i]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(57),s=i(5);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0;ns;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],s=this,r=s._fieldId,a=function(t){var e=t[r];s._data[e]?(e=s._updateItem(t),o.push(e),n.push(t)):(e=s._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),o.length&&this._trigger("update",{items:o,data:n},e),i.concat(o)},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p=o&&o.type||this._options.type,f=o&&o.filter,m=[];if(void 0!=e)d=s._getItem(e,p),f&&!f(d)&&(d=null);else if(void 0!=i)for(u=0,c=i.length;c>u;u++)d=s._getItem(i[u],p),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=s._getItem(l,p),(!f||f(d))&&m.push(d));if(o&&o.order&&void 0==e&&this._sort(m,o.order),o&&o.fields){var v=o.fields;if(void 0!=e)d=this._filterFields(d,v);else for(u=0,c=m.length;c>u;u++)m[u]=this._filterFields(m[u],v)}if("Object"==a){var g={};for(u=0;ue;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&l.push(n[this._fieldId]));else if(h){s=[];for(o in r)r.hasOwnProperty(o)&&s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=r[o],l.push(n[this._fieldId]));return l},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n=e&&e.filter,s=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],o=i[this._fieldId],t(i,o);else for(o in r)r.hasOwnProperty(o)&&(i=this._getItem(o,s),(!n||n(i))&&t(i,o))},o.prototype.map=function(t,e){var i,o=e&&e.filter,n=e&&e.type||this._options.type,s=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!o||o(i))&&s.push(t(i,a)));return e&&e.order&&this._sort(s,e.order),s},o.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var o in t)t.hasOwnProperty(o)&&-1!=e.indexOf(o)&&(i[o]=t[o]);else for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&(i[e[o]]=t[o]);return i},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||r>o)&&(i=s,o=r)}return i},o.prototype.min=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||o>r)&&(i=s,o=r)}return i},o.prototype.distinct=function(t){var e,i=this._data,o=[],s=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(o[e]==d){l=!0;break}l||void 0===d||(o[r]=d,r++)}if(s)for(e=0;ei;i++)n=e[i],this._ids[n]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},o=[],n=[],s=0;so;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}o.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},o.extend=function(t,e){var i=new o(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(69),a=i(3),h=i(4),d=i(57),l=i(10),u=i(9),c=i(7),p=i(8),f=i(11),m=i(12);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.colorAxis,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.colorAxis,u.fillStyle=this.colorDot,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(k,n.x,n.y));var M=this.zLabel;M.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(M,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f,m=this.frame.canvas,v=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+n.point.z)/4,u=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),c=1,this.showShadow?(p=Math.min(1+k.x/M/2,1),a=this._hsv2rgb(u,c,p),h=a):(p=1,a=this._hsv2rgb(u,c,p),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,v.lineWidth=d,v.fillStyle=a,v.strokeStyle=h,v.beginPath(),v.moveTo(t.screen.x,t.screen.y),v.lineTo(e.screen.x,e.screen.y),v.lineTo(n.screen.x,n.screen.y),v.lineTo(i.screen.x,i.screen.y),v.closePath(),v.fill(),v.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],o.lineWidth=1,o.strokeStyle="blue",o.beginPath(),o.moveTo(t.screen.x,t.screen.y)),e=1;e0&&o.stroke()}},o.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=n(t),this.startMouseY=s(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)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},o.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(n(t))-this.startMouseX,i=parseFloat(s(t))-this.startMouseY,o=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(o))0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=o},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(10);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(4);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(){this._current=this._start-this._start%this._step},o.prototype.next=function(){this._current+=this._step},o.prototype.end=function(){return this._current>this._end},t.exports=o},function(t,e,i){function o(t,e,i,h){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof s||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.itemSet=new c(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},this.configurator=new p(this,t,g),h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(69),i(41),i(57)),s=i(3),r=i(4),a=i(17),h=i(43),d=i(35),l=i(26),u=i(27),c=i(32),p=i(44),f=i(45)["default"],m=i(45).printStyle,v=i(46).allOptions,g=i(46).configureOptions;o.prototype=new h,o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){var e=f.validate(t,v);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",m),h.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;if(i){var o=this.getSelection();this.setItems(null),this.setItems(i),this.setSelection(o)}}},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this._getDataRange();var n=void 0!=this.options.start?this.options.start:o.start,a=void 0!=this.options.end?this.options.end:o.end;this.setWindow(n,a,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.getItemRange=function(){var t=this.itemsData&&this.itemsData.getDataSet(),e=null,i=null;if(t){var o=t.min("start");e=o?n.convert(o.start,"Date").valueOf():null;var s=t.max("start");s&&(i=n.convert(s.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?n.convert(r.end,"Date").valueOf():Math.max(i,n.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this.itemSet.itemFromTarget(t),a=this.itemSet.groupFromTarget(t),h=u.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),c=this.body.util.getStep(),p=this._toTime(o),f=d?d(p,l,c):p,m=n.getTarget(t),v=null;return null!=r?v="item":null!=h?v="custom-time":n.hasParent(m,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&n.hasParent(m,this.timeAxis2.dom.foreground)?v="axis":n.hasParent(m,this.itemSet.dom.labelSet)?v="group-label":n.hasParent(m,this.currentTime.bar)?v="current-time":n.hasParent(m,this.dom.center)&&(v="background"),{event:t,item:r?r.id:null,group:a?a.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:s,time:p,snappedTime:f}},t.exports=o},function(t,e,i){function o(t,e,i,o){if(!(Array.isArray(i)||i instanceof s)&&i instanceof Object){var r=o;o=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.linegraph=new c(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},this.configurator=new p(this,t,g),o&&this.setOptions(o),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(69),i(41),i(57)),s=i(3),r=i(4),a=i(17),h=i(43),d=i(35),l=i(26),u=i(27),c=i(34),p=i(44),f=i(45)["default"],m=i(45).printStyle,v=i(47).allOptions,g=i(47).configureOptions;o.prototype=new h,o.prototype.setOptions=function(t){var e=f.validate(t,v);e===!0&&console.log("%cErrors have been found in the supplied options object.",m),h.prototype.setOptions.call(this,t)},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.linegraph.setGroups(e)},o.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},o.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},o.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;or?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=u.customTimeFromTarget(t),h=n.getTarget(t),d=null;n.hasParent(h,this.timeAxis.dom.foreground)?d="axis":this.timeAxis2&&n.hasParent(h,this.timeAxis2.dom.foreground)?d="axis":n.hasParent(h,this.linegraph.yAxisLeft.dom.frame)?d="data-axis":n.hasParent(h,this.linegraph.yAxisRight.dom.frame)?d="data-axis":n.hasParent(h,this.linegraph.legendLeft.dom.frame)?d="legend":n.hasParent(h,this.linegraph.legendRight.dom.frame)?d="legend":null!=a?d="custom-time":n.hasParent(h,this.currentTime.bar)?d="current-time":n.hasParent(h,this.dom.center)&&(d="background");var l=[],c=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return c.hidden||l.push(c.screenToValue(s)),p.hidden||l.push(p.screenToValue(s)),{event:t,what:d,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:s,time:r,value:l}},t.exports=o},function(t,e,i){var o=i(40);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var c=0,p=s.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;p>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var v=e.isHidden(t.range.start,t.hiddenDates),g=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==v.hidden&&(y=1==t.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==t.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){i=!0;break}}if(1==i&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,n){return n=o(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,n)},e.getHiddenDurationBefore=function(t,e,i){var n=0;i=o(i).toDate().valueOf();for(var s=0;s=e.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(t,e,i,o,n,s,r){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.formattingFunction=s,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=r,this.setRange(t,e,i,o,n)}o.prototype.setRange=function(t,e,i,o,n){this._start=void 0===n.min?t:n.min,this._end=void 0===n.max?e:n.max,this._start===this._end&&(this._start=void 0===n.min?this._start-.75:this._start,this._end=void 0===n.max?this._end+1:this._end),this.autoScale===!0&&this.setMinimumStep(i,o),this.setFirst(n)},o.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,o=1.2*i,n=t*(o/e),s=Math.round(Math.log(o)/Math.LN10),r=-1,a=Math.pow(10,s),h=0;0>s&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(d===!0)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},o.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.alignZeros===!0&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},o.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},o.prototype.hasNext=function(){return this.current>=this.marginStart},o.prototype.next=function(){var t=this.current;this.current-=this.step,this.current===t&&(this.current=this._end)},o.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},o.prototype.getCurrent=function(){var t=Math.abs(this.current)t)for(var e=0;-t>e;e++)this.previous();else if(t>0)for(var e=0;t>e;e++)this.next()},t.exports=o},function(t,e,i){function o(t,e){var i=a().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function s(t,e){return{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}}var r=i(57),a=(i(48),i(40)),h=i(25),d=i(15);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,s=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,l=this.end,u="object"==typeof i&&"duration"in i?i.duration:500,c="object"==typeof i&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",p=r.easingFunctions[c];if(!p)throw new Error("Unknown easing function "+JSON.stringify(c)+". Choose from: "+Object.keys(r.easingFunctions).join(", "));var f=(new Date).valueOf(),m=!1,v=function b(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-f,i=p(e/u),r=e>u,c=r||null===n?n:h+(n-h)*i,v=r||null===s?s:l+(s-l)*i;g=a._applyRange(c,v),d.updateHiddenDates(a.body,a.options.hiddenDates),m=m||g,g&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),r?m&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animationTimer=setTimeout(b,20)}};return v()}var g=this._applyRange(n,s);if(d.updateHiddenDates(this.body,this.options.hiddenDates),g){var y={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",y),this.body.emitter.emit("rangechanged",y)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.prototype._onDragEnd=function(t){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){var o=.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,o="end"in e.data?e.data.end:e.data.start;return i-o})},e.stack=function(t,i,o){var n,s;if(o)for(n=0,s=t.length;s>n;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-i.vertical+oe.top}},function(t,e,i){function o(t,e,i,n){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=n,void 0===n&&(this.hiddenDates=[]),this.format=o.FORMAT}var n=i(40),s=i(15),r=i(57);o.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},o.prototype.setFormat=function(t){var e=r.deepExtend({},o.FORMAT);this.format=r.deepExtend(e,t)},o.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},o.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},o.prototype.roundToMinor=function(){ -switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},o.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},o.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"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"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=new Date(t.valueOf());if("year"==e){var n=o.getFullYear()+Math.round(o.getMonth()/12);o.setFullYear(Math.round(n/i)*i),o.setMonth(0),o.setDate(0),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("month"==e)o.getDate()>15?(o.setDate(1),o.setMonth(o.getMonth()+1)):o.setDate(1),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.setHours(24*Math.round(o.getHours()/24));break;default:o.setHours(12*Math.round(o.getHours()/12))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.setHours(12*Math.round(o.getHours()/12));break;default:o.setHours(6*Math.round(o.getHours()/6))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:o.setMinutes(60*Math.round(o.getMinutes()/60));break;default:o.setMinutes(30*Math.round(o.getMinutes()/30))}o.setSeconds(0),o.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.setMinutes(5*Math.round(o.getMinutes()/5)),o.setSeconds(0);break;case 5:o.setSeconds(60*Math.round(o.getSeconds()/60));break;default:o.setSeconds(30*Math.round(o.getSeconds()/30))}o.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.setSeconds(5*Math.round(o.getSeconds()/5)),o.setMilliseconds(0);break;case 5:o.setMilliseconds(1e3*Math.round(o.getMilliseconds()/1e3));break;default:o.setMilliseconds(500*Math.round(o.getMilliseconds()/500))}else if("millisecond"==e){var s=i>5?i/2:1;o.setMilliseconds(Math.round(o.getMilliseconds()/s)*s)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(n().add(1,"day"),"day")?" vis-tomorrow":t.isSame(n().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function s(t){return t.isSame(new Date,"year")?" vis-current-year":""}var r=n(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+u+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"vis-year"+c+s(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(21);i(57);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.start0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{top:0,width:0,height:0},content:{height:0,marginLeft:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(21);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t,e){this.options=null,this.props=null}o.prototype.setOptions=function(t){t&&util.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.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=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(57),s=i(25),r=i(40),a=i(49);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},o.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((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;30>o&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={locales:h,locale:"en",id:void 0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(57),r=i(25),a=i(40),h=i(49);o.prototype=new r,o.prototype.setOptions=function(t){t&&s.selectiveExtend(["locale","locales","id"],this.options,t)},o.prototype._create=function(){var t=document.createElement("div");t["custom-time"]=this,t.className="vis-custom-time",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=new n(e),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this))},o.prototype.destroy=function(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null},o.prototype.redraw=function(){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),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var o=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");return o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=e+"px",this.bar.title=o,!1},o.prototype.hide=function(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation())},o.customTimeFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("custom-time"))return e["custom-time"];e=e.parentNode}return null},t.exports=o},function(t,e,i){function o(t,e,i,o){this.id=n.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,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}}},this.linegraphOptions=o,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=n.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.hidden=!1,this.stepPixels=25,this.zeroCrossing=-1,this.amountOfSteps=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var s=this;this.body.emitter.on("verticalDrag",function(){s.dom.lineContainer.style.top=s.body.domProps.scrollTop+"px"})}var n=i(57),s=i(2),r=i(25),a=i(16);o.prototype=new r,o.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},o.prototype.updateGroup=function(t,e){this.groups[t]=e},o.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},o.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","left","right","alignZeros"];n.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),e===!0&&this.dom.frame&&(this.hide(),this.show())}},o.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.dom.lineContainer.style.position="relative",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)},o.prototype._redrawGroupIcons=function(){s.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,o=4,n=o+.5*i;t="left"===this.options.orientation?o:this.width-e-o;var r=Object.keys(this.groups);r.sort(function(t,e){return e>t?-1:1});for(var a=0;a0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(this.groups[i].visible!==!0||void 0!==this.linegraphOptions.visibility[i]&&this.linegraphOptions.visibility[i]!==!0||e++);if(0===this.amountOfGroups||0===e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=this.options.visible===!0?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"===s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,this.options.icons===!0?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e,i=this.options.orientation;if(this.master===!1){var o,n,r,h;-1!==this.zeroCrossing&&this.options.alignZeros===!0?this.range.end>0?(o=this.range.end/this.zeroCrossing,n=this.range.end-this.amountOfSteps*o,r=this.range.end):(o=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing),n=this.range.start,r=this.range.start+o*this.amountOfSteps):(n=this.range.start,r=this.range.end),h=this.stepPixels}else h=this.props.majorCharHeight,n=this.range.start,r=this.range.end;if(this.step=e=new a(n,r,h,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===!1&&this.options.alignZeros),this.master===!0)this.stepPixels=this.dom.frame.offsetHeight/e.marginRange*e.step,this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels);else if(this.options.alignZeros===!0&&-1!==this.zeroCrossing){var d=(e.current-this.zeroCrossing*e.step)/e.step;this.step.shift(d)}this.valueAtBottom=e.marginEnd,this.maxLabelSize=0;for(var l=0,u=0,c=!1;u0&&u!==this.amountOfSteps&&((this.options.showMinorLabels&&c===!1||this.master===!1&&this.options.showMinorLabels===!0)&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-minor",this.props.minorCharHeight),c&&this.options.showMajorLabels&&this.master===!0||this.options.showMinorLabels===!1&&this.master===!1&&c===!0?(l>=0&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(l,i,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(l,i,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth)),this.master===!0&&0===e.current&&(this.zeroCrossing=u),e.next(),u+=1;this.master===!0&&0===e.current&&(this.zeroCrossing=u),this.conversionFactor=this.stepPixels/e.step;var p=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(p=this.props.titleCharHeight);var f=this.options.icons===!0?Math.max(this.options.iconWidth,p)+this.options.labelOffsetX+15:p+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&this.options.visible===!0?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtBottom-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtBottom-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"===i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizec;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var o=this;if(i.length>0){var s=i[0].top,r=i[0].top+i[0].height;if(n.forEach(i,function(t){s=Math.min(s,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(o.subgroups[t.data.subgroup].height=Math.max(o.subgroups[t.data.subgroup].height,t.height),o.subgroups[t.data.subgroup].visible=!0)}),s>t.axis){var a=s-t.axis;r-=a,n.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={type:null,orientation:{item:"bottom"},align:"auto",stack:!0,groupOrder:null,selectable:!0,multiselect:!1,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20}},this.options=s.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(57),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),u=i(31),c=i(20),p=i(23),f=i(24),m=i(22),v="__ungrouped__",g="__background__";o.prototype=new d,o.types={background:m,box:c,range:f,point:p},o.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var s=document.createElement("div");s.className="vis-labelset",this.dom.labelSet=s,this._updateUngrouped();var r=new u(g,null,this);r.show(),this.groups[g]=r,this.hammer=new n(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},o.prototype.setOptions=function(t){if(t){var e=["type","align","order","stack","selectable","multiselect","groupOrder","dataAttributes","template","hide","snap"];s.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"==typeof t.orientation&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(s.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&s.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&s.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},o.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&s.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},o.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},o.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},o.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},o.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation.item,r=!1,a=this.dom.frame,h=o.editable.updateTime||o.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset"+(h?" vis-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 u=this.stackDirty,c=this._firstGroup(),p={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,u),s.forEach(this.groups,function(t){var i=t==c?p:f,o=t.redraw(e,i,u);r=o||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.forEach(this.groupListeners,function(t,e){i.groupsData.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 o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:r})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){i.push(e.id);var s=o._getItemRange(this.itemsData.get(i,this.itemOptions));i=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=s.min&&d<=s.max&&!(a instanceof m)&&i.push(a.id)}}else{var l=i.indexOf(e.id);-1==l?i.push(e.id):i.splice(l,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection()})}}},o._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&et?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.prepareElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),u={};for(this._getRelevantData(a,u,d,l),this._applySampling(a,u),e=0;ep&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;ro){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=s)d.push(n[l]);e[t[o]]=d}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0?"left"==r.yAxisOrientation?a=a.concat(n.getData(o)):h=h.concat(n.getData(o)):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.getStackedYRange(h,i,t,"__barStackRight","right"),p.getStackedYRange(a,i,t,"__lineStackLeft","left"),p.getStackedYRange(h,i,t,"__lineStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;uy;)y++,l=h.getCurrent(),u=h.isMajor(),p=h.getClassName(),m=f,f=this.body.util.toScreen(l),v=f-m,c&&(c.style.width=v+"px"),this.options.showMinorLabels&&this._repaintMinorText(f,h.getLabelMinor(),t,p),u&&this.options.showMajorLabels?(f>0&&(void 0==g&&(g=f),this._repaintMajorText(f,h.getLabelMajor(),t,p)),c=this._repaintMajorLine(f,t,p)):c=this._repaintMinorLine(f,t,p),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),w=h.getLabelMajor(b),_=w.length*(this.props.majorCharWidth||10)+10;(void 0==g||g>_)&&this._repaintMajorText(0,w,t,p)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px"},o.prototype._repaintMinorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top=n.majorLabelHeight+"px":o.style.top=this.body.domProps.top.height+"px",o.style.height=n.minorLineHeight+"px",o.style.left=t-n.minorLineWidth/2+"px",o.className="vis-grid vis-vertical vis-minor "+i,o},o.prototype._repaintMajorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top="0":o.style.top=this.body.domProps.top.height+"px",o.style.left=t-n.majorLineWidth/2+"px",o.style.height=n.majorLineHeight+"px",o.className="vis-grid vis-vertical vis-major "+i,o},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e,i){var o=this;if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:j,clickToUse:!1},A.extend(this.options,this.defaultOptions),this.body={nodes:{},nodeIndices:[],edges:{},edgeIndices:[],data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},container:t,view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new R(function(){return o.body.emitter.emit("_requestRedraw")}),this.groups=new r["default"],this.canvas=new y["default"](this.body),this.selectionHandler=new M["default"](this.body,this.canvas),this.interactionHandler=new x["default"](this.body,this.canvas,this.selectionHandler),this.view=new w["default"](this.body,this.canvas),this.renderer=new v["default"](this.body,this.canvas),this.physics=new c["default"](this.body),this.layoutEngine=new D["default"](this.body),this.clustering=new f["default"](this.body),this.manipulation=new C["default"](this.body,this.canvas,this.selectionHandler),this.nodesHandler=new h["default"](this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new l["default"](this.body,this.images,this.groups),this.canvas._create(),this.configurator=new S["default"](this,this.body.container,N.configureOptions,this.canvas.pixelRatio),this.setOptions(i),this.setData(e)}var s=i(53),r=o(s),a=i(54),h=o(a),d=i(55),l=o(d),u=i(56),c=o(u),p=i(1),f=o(p),m=i(58),v=o(m),g=i(59),y=o(g),b=i(60),w=o(b),_=i(61),x=o(_),k=i(62),M=o(k),O=i(63),D=o(O),T=i(64),C=o(T),E=i(44),S=o(E),P=i(45),I=o(P),N=i(65);i(66);var z=i(69),A=(i(41),i(57)),L=(i(3),i(4),i(38)),B=i(39),R=i(37),F=i(67),j=i(68);z(n.prototype),n.prototype.setOptions=function(t){if(void 0!==t){var e=I["default"].validate(t,N.allOptions);e===!0&&console.log("%cErrors have been found in the supplied options object.",P.printStyle);var i=["locale","locales","clickToUse"];if(A.selectiveDeepExtend(i,this.options,t),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges), -this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit("refreshNodes"),this.configurator.setOptions(t.configure),this.configurator.options.enabled===!0){var o={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};A.deepExtend(o.nodes,this.nodesHandler.options),A.deepExtend(o.edges,this.edgesHandler.options),A.deepExtend(o.layout,this.layoutEngine.options),A.deepExtend(o.interaction,this.selectionHandler.options),A.deepExtend(o.interaction,this.renderer.options),A.deepExtend(o.interaction,this.interactionHandler.options),A.deepExtend(o.manipulation,this.manipulation.options),A.deepExtend(o.physics,this.physics.options),A.deepExtend(o.global,this.canvas.options),A.deepExtend(o.global,this.options),this.configurator.setModuleOptions(o)}void 0!==t.clickToUse?t.clickToUse===!0?void 0===this.activator&&(this.activator=new F(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},n.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in t)t.hasOwnProperty(i)&&t[i].options.hidden===!1&&this.body.nodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.hidden===!1&&this.body.edgeIndices.push(o)},n.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(){t._updateVisibleIndices(),t.physics.updatePhysicsData(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation")})},n.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),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){console.log("The dot property has been depricated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=L.DOTToGraph(t.dot);return void this.setData(e)}if(t&&t.gephi){console.log("The gephi property has been depricated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=B.parseGephi(t.gephi);return void this.setData(i)}this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("initPhysics")},n.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images,delete this.body.emitter.emit,delete this.body.emitter.on,delete this.body.emitter.off,delete this.body.emitter.once,delete this.body.emitter;for(var t in this.body.nodes)delete this.body.nodes[t];for(var e in this.body.edges)delete this.body.edges[e];A.recursiveDOMDelete(this.body.container)},n.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(t.hasOwnProperty(e)){var s=t[e].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,o,n)},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},n.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},n.prototype.DOMtoCanvas=function(){return this.canvas.setSize.DOMtoCanvas(this.canvas,arguments)},n.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},n.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},n.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},n.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},n.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},n.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},n.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},n.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},n.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},n.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},n.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},n.prototype.editNodeMode=function(){return this.manipulation.editNodeMode.apply(this.manipulation,arguments)},n.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},n.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},n.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},n.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},n.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},n.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},n.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},n.prototype.getEdges=function(){return this.nodesHandler.getEdges.apply(this.nodesHandler,arguments)},n.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},n.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},n.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},n.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},n.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},n.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},n.prototype.getNodeAt=function(){return this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments)},n.prototype.getEdgeAt=function(){return this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments)},n.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},n.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},n.prototype.unselectAll=function(){return this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments)},n.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},n.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},n.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},n.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},n.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},n.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},n.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},t.exports=n},function(t,e,i){function o(t){this.images={},this.imageBroken={},this.callback=t}o.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var o=this;i=new Image,i.onload=function(){0===this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),o.callback&&(o.images[t]=i,o.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,o.callback&&o.callback(this)):o.imageBroken[t]===!0?(console.error("Could not load brokenImage:",e),delete this.src,o.callback&&o.callback(this)):(console.error("Could not load image:",t),this.src=e,o.imageBroken[t]=!0)},i.src=t}return i},t.exports=o},function(t,e,i){function o(t){return I=t,f()}function n(){N=0,z=I.charAt(0)}function s(){N++,z=I.charAt(N)}function r(){return I.charAt(N+1)}function a(t){return B.test(t)}function h(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function d(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function l(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=h(n.attr,t.node))),i=s.length-1;i>=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(L=S.NULL,A="";" "===z||" "===z||"\n"===z||"\r"===z;)s();do{var t=!1;if("#"===z){for(var e=N-1;" "===I.charAt(e)||" "===I.charAt(e);)e--;if("\n"===I.charAt(e)||""===I.charAt(e)){for(;""!=z&&"\n"!=z;)s();t=!0}}if("/"===z&&"/"===r()){for(;""!=z&&"\n"!=z;)s();t=!0}if("/"===z&&"*"===r()){for(;""!=z;){if("*"===z&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===z||" "===z||"\n"===z||"\r"===z;)s()}while(t);if(""===z)return void(L=S.DELIMITER);var i=z+r();if(P[i])return L=S.DELIMITER,A=i,s(),void s();if(P[z])return L=S.DELIMITER,A=z,void s();if(a(z)||"-"===z){for(A+=z,s();a(z);)A+=z,s();return"false"===A?A=!1:"true"===A?A=!0:isNaN(Number(A))||(A=Number(A)),void(L=S.IDENTIFIER)}if('"'===z){for(s();""!=z&&('"'!=z||'"'===z&&'"'===r());)A+=z,'"'===z&&s(),s();if('"'!=z)throw x('End of string " expected');return s(),void(L=S.IDENTIFIER)}for(L=S.UNKNOWN;""!=z;)A+=z,s();throw new SyntaxError('Syntax error in part "'+k(A,30)+'"')}function f(){var t={};if(n(),p(),"strict"===A&&(t.strict=!0,p()),("graph"===A||"digraph"===A)&&(t.type=A,p()),L===S.IDENTIFIER&&(t.id=A,p()),"{"!=A)throw x("Angle bracket { expected");if(p(),m(t),"}"!=A)throw x("Angle bracket } expected");if(p(),""!==A)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==A&&"}"!=A;)v(t),";"===A&&p()}function v(t){var e=g(t);if(e)return void w(t,e);var i=y(t);if(!i){if(L!=S.IDENTIFIER)throw x("Identifier expected");var o=A;if(p(),"="===A){if(p(),L!=S.IDENTIFIER)throw x("Identifier expected");t[o]=A,p()}else b(t,o)}}function g(t){var e=null;if("subgraph"===A&&(e={},e.type="subgraph",p(),L===S.IDENTIFIER&&(e.id=A,p())),"{"===A){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=A)throw x("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 y(t){return"node"===A?(p(),t.node=_(),"node"):"edge"===A?(p(),t.edge=_(),"edge"):"graph"===A?(p(),t.graph=_(),"graph"):null}function b(t,e){var i={id:e},o=_();o&&(i.attr=o),l(t,i),w(t,e)}function w(t,e){for(;"->"===A||"--"===A;){var i,o=A;p();var n=g(t);if(n)i=n;else{if(L!=S.IDENTIFIER)throw x("Identifier or subgraph expected");i=A,l(t,{id:i}),p()}var s=_(),r=c(t,e,i,o,s);u(t,r),e=i}}function _(){for(var t=null;"["===A;){for(p(),t={};""!==A&&"]"!=A;){if(L!=S.IDENTIFIER)throw x("Attribute name expected");var e=A;if(p(),"="!=A)throw x("Equal sign = expected");if(p(),L!=S.IDENTIFIER)throw x("Attribute value expected");var i=A;d(t,e,i),p(),","==A&&p()}if("]"!=A)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(A,30)+'" (char '+N+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function O(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},I="",N=0,z="",A="",L=S.NULL,B=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=T},function(t,e,i){function o(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;an&&(e[o+n++]=u[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;6>p;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e,i){function o(){}var n=i(69),s=i(41),r=i(48),a=i(57),h=(i(3),i(4),i(17),i(32),i(35)),d=i(67),l=i(15),u=i(27);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",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.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof t.orientation&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("hiddenDates"in this.options&&l.convertHiddenOptions(this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),this.configurator){this.configurator.setOptions(t.configure);var n=a.deepExtend({},this.options);this.components.forEach(function(t){a.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?a.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,{time:i,id:e});return this.customTimes.push(n),this.components.push(n),this.redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(e.start,e.end,i)}},o.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var o=i.valueOf()-e.valueOf();0>=o&&(o=864e5),e=new Date(e.valueOf()-.05*o),i=new Date(i.valueOf()+.05*o)}return{start:e,end:i}},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTop0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-network-configuration button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-network-configuration button hover"},e.onmouseout=function(){e.className="vis-network-configuration button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-network-configuration vis-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push(),this.colorPicker.insertTo(this.container)}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-network-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;i>n;n++)o[n-1]=arguments[n];this.allowCreation===!0&&!function(){var i=document.createElement("div");i.className="vis-network-configuration item s"+t.length,o.forEach(function(t){i.appendChild(t)}),e.domElements.push(i)}()}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-network-configuration header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-network-configuration label s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-network-configuration select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;s.1*e&&(a.min=e/10),2*e>s&&1!==s&&(a.max=2*e),a.value=e):a.value=o;var h=document.createElement("input");h.className="vis-network-configuration rangeinput",h.value=a.value;var d=this;a.onchange=function(){h.value=this.value,d._update(Number(this.value),i)},a.oninput=function(){h.value=this.value};var l=this._makeLabel(i[i.length-1],i);this._makeItem(i,l,a,h)}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-network-configuration checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeTextInput",value:function(t,e,i){var o=document.createElement("input");o.type="text",o.className="vis-network-configuration text",o.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var n=this;o.onchange=function(){n._update(this.value,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],s=document.createElement("div");e=void 0===e?n:e,"none"!==e?(s.className="vis-network-configuration colorBlock",s.style.backgroundColor=e):s.className="vis-network-configuration colorBlock none",e=void 0===e?n:e,s.onclick=function(){o._showColorPicker(e,s,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,s)}},{key:"_showColorPicker",value:function(t,e,i){var o=this,n=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),r=n.left+n.width+5,a=n.top-s.top+.5*n.height;this.colorPicker.show(r,a),this.colorPicker.setColor(t),this.colorPicker.setCallback(function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})}},{key:"_handleObject",value:function(t){var e=void 0===arguments[1]?[]:arguments[1],i=void 0===arguments[2]?!1:arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],d=h.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,d,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var l=this._getValue(d);if(a instanceof Array)this._handleArray(a,l,d);else if("string"==typeof a)this._makeTextInput(a,l,d);else if("boolean"==typeof a)this._makeCheckbox(a,l,d);else if(a instanceof Object){var u=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(u=!1),u===!0)if(void 0!==a.enabled){var c=h.copyAndExtendArray(d,"enabled"),p=this._getValue(c);if(p===!0){var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}else this._makeCheckbox(a,p,d)}else{var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}}else console.error("dont know how to handle",a,r,d)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=void 0===arguments[2]?{}:arguments[2],o=i;t="true"===t?!0:t,t="false"===t?!1:t;for(var n=0;nvar options = "+JSON.stringify(t,null,2)+""}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),h):n.distance<=d?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),h):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),h),r=!0}},{key:"findInOptions",value:function(e,i,o){var n=void 0===arguments[3]?!1:arguments[3],r=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var u in i){var c=void 0;if(void 0!==i[u].__type__&&n===!0){var p=t.findInOptions(e,i[u],s.copyAndExtendArray(o,u));r>p.distance&&(a=p.closestMatch,h=p.path,r=p.distance,l=p.indexMatch)}else-1!==u.toLowerCase().indexOf(d)&&(l=u),c=t.levenshteinDistance(e,u),r>c&&(a=u,h=s.copyArray(o),r=c)}return{closestMatch:a,path:h,distance:r,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var s=0;st[o].y?t[o].y:e,i=i0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o.prototype.draw=function(t,e,i){if(null!=t&&t.length>0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=n.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t),1==e.options.shaded.enabled){var d,l=n.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&s.draw(t,e,i)}},o._catmullRomUniform=function(t){for(var e,i,o,n,s,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={x:(-e.x+6*i.x+o.x)*h,y:(-e.y+6*i.y+o.y)*h},r={x:(i.x+6*o.x-n.x)*h,y:(i.y+6*o.y-n.y)*h},a+="C"+s.x+","+s.y+" "+r.x+","+r.y+" "+o.x+","+o.y+" ";return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",k=t.length,M=0;k-1>M;M++)o=0==M?t[0]:t[M-1],n=t[M],s=t[M+1],r=k>M+2?t[M+2]:s,d=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(n.x-s.x,2)+Math.pow(n.y-s.y,2)),u=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={x:(-b*o.x+c*n.x+w*s.x)*f,y:(-b*o.y+c*n.y+w*s.y)*f},h={x:(y*n.x+p*s.x-b*r.x)*m,y:(y*n.y+p*s.y-b*r.y)*m},0==a.x&&0==a.y&&(a=n),0==h.x&&0==h.y&&(h=s),x+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+s.x+","+s.y+" ";return x},o._linear=function(t){for(var e="",i=0;it[o].y?t[o].y:e,i=i0&&(r=Math.min(r,Math.abs(c[l-1].x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,d.options.stack===!0?c[l].y0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=nt[o].y?t[o].y:e,i=i0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i1&&(this.startedStabilization=!1),this.stopSimulation())}},{key:"_emitStabilized",value:function(){var t=this;this.stabilizationIterations>1&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:t.stabilizationIterations}),t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){this.stabilized===!1&&(this.calculateForces(),this.stabilized=this.moveNodes(),this.stabilized===!0?this.revert():this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilizationIterations++)}},{key:"updatePhysicsData",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)t.hasOwnProperty(i)&&t[i].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(o);for(var n=0;na&&o===!0,t=!0}return t===!0?n>.5*this.options.maxVelocity?!1:o:!0}},{key:"_performStep",value:function(t,e){var i=this.body.nodes[t],o=this.options.timestep,n=this.physicsBody.forces,s=this.physicsBody.velocities;if(this.previousStates[t]={x:i.x,y:i.y,vx:s[t].x,vy:s[t].y},i.options.fixed.x===!1){var r=this.modelOptions.damping*s[t].x,a=(n[t].x-r)/i.options.mass;s[t].x+=a*o,s[t].x=Math.abs(s[t].x)>e?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedrawRequests"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)}},{key:"_stabilizationBatch",value:function(){for(var t=0;this.stabilized===!1&&ti;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return n=s.exec(t),o(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=s.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var s=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var r={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=r.split(t.style.cssText),n=r.split(i),s=e.extend(o,n);t.style.cssText=r.join(s)},e.removeCssText=function(t,e){var i=r.split(t.style.cssText),o=r.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=r.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){ -t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(i),n=0;n=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedrawRequests===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,!1),0):window.requestAnimationFrame(this._redraw.bind(this,!1)))}},{key:"_redraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;e.clearRect(0,0,i,o),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0)for(var r=0;rt.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),ot.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),o.5*this.body.nodeIndices.length)return void this.fit(i,!1);t=this._getRange(i.nodes);var a=this.body.nodeIndices.length;e=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);e*=h}else{this.body.emitter.emit("_resizeNodes"),t=this._getRange(i.nodes);var d=1.1*Math.abs(t.maxX-t.minX),l=1.1*Math.abs(t.maxY-t.minY),u=this.canvas.frame.canvas.clientWidth/d,c=this.canvas.frame.canvas.clientHeight/l;e=c>=u?u:c}e>1?e=1:0===e&&(e=1);var p=this._findCenter(t),f={position:p,scale:e,animation:i.animation};this.moveTo(f)}},{key:"focus",value:function(t){var e=void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.body.view.translation),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return{x:this.body.view.translation.x,y:this.body.view.translation.y}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&t.changedPointers[0].ctrlKey;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.pageX,y:t.pageY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount();h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0):0>h-n&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"onDragStart",value:function(t){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=l.extend({},this.body.view.translation),this.drag.nodeId=void 0,this.selectionHandler._generateClickEvent("dragStart",t,this.drag.pointer),void 0!==e&&this.options.dragNodes===!0){this.drag.nodeId=e.id,e.isSelected()===!1&&(this.selectionHandler.unselectAll(),this.selectionHandler.selectObject(e));var i=this.selectionHandler.selectionObj.nodes;for(var o in i)if(i.hasOwnProperty(o)){var n=i[o],s={id:n.id,node:n,x:n.x,y:n.y,xFixed:n.options.fixed.x,yFixed:n.options.fixed.y};n.options.fixed.x=!0,n.options.fixed.y=!0,this.drag.selection.push(s)}}}},{key:"onDrag",value:function(t){var e=this;if(this.drag.pinched!==!0){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center);this.selectionHandler._generateClickEvent("dragging",t,i);var o=this.drag.selection;if(o&&o.length&&this.options.dragNodes===!0)!function(){var t=i.x-e.drag.pointer.x,n=i.y-e.drag.pointer.y;o.forEach(function(i){var o=i.node;i.xFixed===!1&&(o.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(i.x)+t)),i.yFixed===!1&&(o.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(i.y)+n))}),e.body.emitter.emit("startSimulation")}();else if(this.options.dragView===!0){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var n=i.x-this.drag.pointer.x,s=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+n,y:this.drag.translation.y+s},this.body.emitter.emit("_redraw")}}}},{key:"onDragEnd",value:function(t){this.drag.dragging=!1;var e=this.drag.selection;e&&e.length?(e.forEach(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed}),this.body.emitter.emit("startSimulation")):this.body.emitter.emit("_requestRedraw"),this.selectionHandler._generateClickEvent("dragEnd",t,this.getPointer(t.center))}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(this.options.zoomView===!0){var i=this.body.view.scale;1e-5>t&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.pageX,y:t.pageY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.pageX,y:t.pageY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return void 0}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return void 0}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t}},{key:"_selectionIsEmpty",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptions(e);if(i===!0)return this.body.emitter.emit("refresh"),s.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptions",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof options.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==options.physics.solver&&(this.optionsBackup.physics={solver:options.physics.solver}),t.physics.solver="hierarchicalRepulsion"):options.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth,dynamic:!0},t.edges.smooth={enabled:t.edges.smooth,dynamic:!1,type:e}):(this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!0},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!1,type:e}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():("directed"===this.options.hierarchical.sortMethod,0||this._determineLevelsDirected()));var n=this._getDistribution();this._placeNodesByHierarchy(n)}}},{key:"_placeNodesByHierarchy",value:function(t){var e=void 0,i=void 0;this.positionedNodes={};for(var o in t)if(t.hasOwnProperty(o))for(e in t[o].nodes)t[o].nodes.hasOwnProperty(e)&&(i=t[o].nodes[e],"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===i.x&&(i.x=t[o].distance),t[o].distance=i.x+this.nodeSpacing):(void 0===i.y&&(i.y=t[o].distance),t[o].distance=i.y+this.nodeSpacing),this.positionedNodes[e]=!0,this._placeBranchNodes(i.edges,i.id,t,o))}},{key:"_getDistribution",value:function(){var t={},e=void 0,i=void 0;for(e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){i=this.body.nodes[e];var o=void 0===this.hierarchicalLevels[e]?0:this.hierarchicalLevels[e];"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(i.y=this.options.hierarchical.levelSeparation*o,i.options.fixed.y=!0):(i.x=this.options.hierarchical.levelSeparation*o,i.options.fixed.x=!0),void 0===t[o]&&(t[o]={amount:0,nodes:{},distance:0}),t[o].amount+=1,t[o].nodes[e]=i}return t}},{key:"_getHubSize",value:function(){var t=0;for(var e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){var i=this.body.nodes[e];void 0===this.hierarchicalLevels[e]&&(t=i.edges.length0&&(i=this._getHubSize(),0!==i);)for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],e.edges.length===i&&this._setLevel(0,e))}},{key:"_setLevel",value:function(t,e){if(void 0===this.hierarchicalLevels[e.id]){var i=void 0;this.hierarchicalLevels[e.id]=t;for(var o=0;oo&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===s.x&&(s.x=Math.max(i[a].distance,r.x)),i[a].distance=s.x+this.nodeSpacing,this.positionedNodes[s.id]=!0):(void 0===s.y&&(s.y=Math.max(i[a].distance,r.y)),i[a].distance=s.y+this.nodeSpacing),this.positionedNodes[s.id]=!0,s.edges.length>1&&this._placeBranchNodes(s.edges,s.id,i,a))}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode&&(t.body.data.edges.remove(e.edges),t.body.data.nodes.remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.remove(i),this.body.data.nodes.remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,dynamic:!1,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x), -i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r="array",a="object",h="dom",d="function",l="undefined",u={configure:{enabled:{"boolean":n},filter:{"boolean":n,string:o,array:r,fn:d},container:{dom:h},showButton:{"boolean":n},__type__:{object:a,"boolean":n,string:o,array:r,fn:d}},edges:{arrows:{to:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},middle:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},from:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},__type__:{string:["from","to","middle"],object:a}},color:{color:{string:o},highlight:{string:o},hover:{string:o},inherit:{string:["from","to","both"],"boolean":n},opacity:{number:s},__type__:{object:a,string:o}},dashes:{"boolean":n,array:r},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},strokeWidth:{number:s},strokeColor:{string:o},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:a,string:o}},hidden:{"boolean":n},hoverWidth:{fn:d,number:s},label:{string:o,undef:l},length:{number:s,undef:l},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},selectionWidth:{fn:d,number:s},selfReferenceSize:{number:s},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},smooth:{enabled:{"boolean":n},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"]},roundness:{number:s},__type__:{object:a,"boolean":n}},title:{string:o,undef:l},width:{number:s},value:{number:s,undef:l},__type__:{object:a}},groups:{useDefaultGroups:{"boolean":n},__any__:"get from nodes, will be overwritten below",__type__:{object:a}},interaction:{dragNodes:{"boolean":n},dragView:{"boolean":n},hideEdgesOnDrag:{"boolean":n},hideNodesOnDrag:{"boolean":n},hover:{"boolean":n},keyboard:{enabled:{"boolean":n},speed:{x:{number:s},y:{number:s},zoom:{number:s},__type__:{object:a}},bindToWindow:{"boolean":n},__type__:{object:a,"boolean":n}},multiselect:{"boolean":n},navigationButtons:{"boolean":n},selectable:{"boolean":n},selectConnectedEdges:{"boolean":n},tooltipDelay:{number:s},zoomView:{"boolean":n},__type__:{object:a}},layout:{randomSeed:{undef:l,number:s},hierarchical:{enabled:{"boolean":n},levelSeparation:{number:s},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:a,"boolean":n}},__type__:{object:a}},manipulation:{enabled:{"boolean":n},initiallyActive:{"boolean":n},addNode:{"boolean":n,fn:d},addEdge:{"boolean":n,fn:d},editNode:{fn:d},editEdge:{"boolean":n,fn:d},deleteNode:{"boolean":n,fn:d},deleteEdge:{"boolean":n,fn:d},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:a,"boolean":n}},nodes:{borderWidth:{number:s},borderWidthSelected:{number:s,undef:l},brokenImage:{string:o,undef:l},color:{border:{string:o},background:{string:o},highlight:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},hover:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},__type__:{object:a,string:o}},fixed:{x:{"boolean":n},y:{"boolean":n},__type__:{object:a,"boolean":n}},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},strokeWidth:{number:s},strokeColor:{string:o},__type__:{object:a,string:o}},group:{string:o,number:s,undef:l},hidden:{"boolean":n},icon:{face:{string:o},code:{string:o},size:{number:s},color:{string:o},__type__:{object:a}},id:{string:o,number:s},image:{string:o,undef:l},label:{string:o,undef:l},level:{number:s,undef:l},mass:{number:s},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},size:{number:s},title:{string:o,undef:l},value:{number:s,undef:l},x:{number:s},y:{number:s},__type__:{object:a}},physics:{barnesHut:{gravitationalConstant:{number:s},centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},damping:{number:s},avoidOverlap:{number:s},__type__:{object:a}},forceAtlas2Based:{gravitationalConstant:{number:s},centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},damping:{number:s},avoidOverlap:{number:s},__type__:{object:a}},repulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},hierarchicalRepulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},maxVelocity:{number:s},minVelocity:{number:s},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":n},iterations:{number:s},updateInterval:{number:s},onlyDynamicEdges:{"boolean":n},fit:{"boolean":n},__type__:{object:a,"boolean":n}},timestep:{number:s},__type__:{object:a,"boolean":n}},autoResize:{"boolean":n},clickToUse:{"boolean":n},locale:{string:o},locales:{__any__:{object:a},__type__:{object:a}},height:{string:o},width:{string:o},__type__:{object:a}};u.groups.__any__=u.nodes,u.manipulation.controlNodeStyle=u.nodes;var c={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};e.allOptions=u,e.configureOptions=c},function(t,e,i){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.bodyHammer=a(document&&document.body,{prevent_default:!1}),this.bodyHammer.on("tap",function(i){n(i.target,t)||e.deactivate()}),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(88),r=i(69),a=i(41),h=i(57);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.bodyHammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){e.en={edit:"Edit",del:"Delete selected",back:"Back",addNode:"Add Node",addEdge:"Add Edge",editNode:"Edit Node",editEdge:"Edit Edge",addDescription:"Click in an empty space to place a new node.",edgeDescription:"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.",createEdgeError:"Cannot link edges to a cluster.",deleteClusterError:"Clusters cannot be deleted.",editClusterError:"Clusters cannot be edited."},e.en_EN=e.en,e.en_US=e.en,e.nl={edit:"Wijzigen",del:"Selectie verwijderen",back:"Terug",addNode:"Node toevoegen",addEdge:"Link toevoegen",editNode:"Node wijzigen",editEdge:"Link wijzigen",addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",createEdgeError:"Kan geen link maken naar een cluster.",deleteClusterError:"Clusters kunnen niet worden verwijderd.",editClusterError:"Clusters kunnen niet worden aangepast."},e.nl_NL=e.nl,e.nl_BE=e.nl},function(t,e,i){function o(t){return t?n(t):void 0}function n(t){for(var e in o.prototype)t[e]=o.prototype[e];return t}t.exports=o,o.prototype.on=o.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},o.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},o.prototype.off=o.prototype.removeListener=o.prototype.removeAllListeners=o.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var o,n=0;no;++o)i[o].apply(this,e)}return this},o.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},o.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Si.apply(null,arguments)}function i(t){Si=t}function o(t){return"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in Ii)o=Ii[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function f(t){p(this,t),this._d=new Date(+t._d),Ni===!1&&(Ni=!0,e.updateOffset(this),Ni=!1)}function m(t){return t instanceof f||null!=t&&null!=t._isAMomentObject}function v(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function g(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&v(t[o])!==v(e[o]))&&r++;return r+s}function y(){}function b(t){return t?t.toLowerCase().replace("_","-"):t}function w(t){for(var e,i,o,n,s=0;s0;){if(o=_(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&g(n,i,!0)>=e-1)break;e--}s++}return null}function _(e){var i=null;if(!zi[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Pi._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),x(i)}catch(o){}return zi[e]}function x(t,e){var i;return t&&(i="undefined"==typeof e?M(t):k(t,e),i&&(Pi=i)),Pi._abbr}function k(t,e){return null!==e?(e.abbr=t,zi[t]||(zi[t]=new y),zi[t].set(e),x(t),zi[t]):(delete zi[t],null)}function M(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Pi;if(!o(t)){if(e=_(t))return e;t=[t]}return w(t)}function O(t,e){var i=t.toLowerCase();Ai[i]=Ai[i+"s"]=Ai[e]=t}function D(t){return"string"==typeof t?Ai[t]||Ai[t.toLowerCase()]:void 0}function T(t){var e,i,o={};for(i in t)r(t,i)&&(e=D(i),e&&(o[e]=t[i]));return o}function C(t,i){return function(o){return null!=o?(S(this,t,o),e.updateOffset(this,i),this):E(this,t)}}function E(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function S(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function P(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=D(t),"function"==typeof this[t])return this[t](e);return this}function I(t,e,i){for(var o=""+Math.abs(t),n=t>=0;o.lengthe;e++)Fi[o[e]]?o[e]=Fi[o[e]]:o[e]=z(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function L(t,e){return t.isValid()?(e=B(e,t.localeData()),Ri[e]||(Ri[e]=A(e)),Ri[e](t)):t.localeData().invalidDate()}function B(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Bi.lastIndex=0;o>=0&&Bi.test(t);)t=t.replace(Bi,i),Bi.lastIndex=0,o-=1;return t}function R(t,e,i){to[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function F(t,e){return r(to,t)?to[t](e._strict,e._locale):new RegExp(j(t))}function j(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function H(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=v(t)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function X(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),G(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function Z(t){return null!=t?(X(this,t),e.updateOffset(this,!0),this):E(this,"Month")}function K(){return G(this.year(),this.month())}function J(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[oo]<0||i[oo]>11?oo:i[no]<1||i[no]>G(i[io],i[oo])?no:i[so]<0||i[so]>24||24===i[so]&&(0!==i[ro]||0!==i[ao]||0!==i[ho])?so:i[ro]<0||i[ro]>59?ro:i[ao]<0||i[ao]>59?ao:i[ho]<0||i[ho]>999?ho:-1,l(t)._overflowDayOfYear&&(io>e||e>no)&&(e=no),l(t).overflow=e),t}function Q(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function $(t,e){var i=!0,o=t+"\n"+(new Error).stack;return a(function(){return i&&(Q(o),i=!1),e.apply(this,arguments)},e)}function tt(t,e){co[t]||(Q(e),co[t]=!0)}function et(t){var e,i,o=t._i,n=po.exec(o);if(n){for(l(t).iso=!0,e=0,i=fo.length;i>e;e++)if(fo[e][1].exec(o)){t._f=fo[e][0]+(n[6]||" ");break}for(e=0,i=mo.length;i>e;e++)if(mo[e][1].exec(o)){t._f+=mo[e][0];break}o.match(Ji)&&(t._f+="Z"),wt(t)}else t._isValid=!1}function it(t){var i=vo.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(et(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function ot(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function nt(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function st(t){return rt(t)?366:365}function rt(t){return t%4===0&&t%100!==0||t%400===0}function at(){return rt(this.year())}function ht(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Tt(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function dt(t){return ht(t,this._week.dow,this._week.doy).week}function lt(){return this._week.dow}function ut(){return this._week.doy}function ct(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function pt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ft(t,e,i,o,n){var s,r,a=nt(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:n,s=n-a+(a>o?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+s+1,{year:r>0?t:t-1,dayOfYear:r>0?r:st(t-1)+r}}function mt(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function vt(t,e,i){return null!=t?t:null!=e?e:i}function gt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function yt(t){var e,i,o,n,s=[];if(!t._d){for(o=gt(t),t._w&&null==t._a[no]&&null==t._a[oo]&&bt(t),t._dayOfYear&&(n=vt(t._a[io],o[io]),t._dayOfYear>st(n)&&(l(t)._overflowDayOfYear=!0),i=nt(n,0,t._dayOfYear),t._a[oo]=i.getUTCMonth(),t._a[no]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[so]&&0===t._a[ro]&&0===t._a[ao]&&0===t._a[ho]&&(t._nextDay=!0,t._a[so]=0),t._d=(t._useUTC?nt:ot).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[so]=24)}}function bt(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=vt(e.GG,t._a[io],ht(Tt(),1,4).year),o=vt(e.W,1),n=vt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=vt(e.gg,t._a[io],ht(Tt(),s,r).year),o=vt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=ft(i,o,n,r,s),t._a[io]=a.year,t._dayOfYear=a.dayOfYear}function wt(t){if(t._f===e.ISO_8601)return void et(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=B(t._f,t._locale).match(Li)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Fi[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),W(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[so]<=12&&t._a[so]>0&&(l(t).bigHour=void 0),t._a[so]=_t(t._locale,t._a[so],t._meridiem),yt(t),J(t)}function _t(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function xt(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function kt(t){if(!t._d){var e=T(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],yt(t)}}function Mt(t){var e,i=t._i,s=t._f;return t._locale=t._locale||M(t._l),null===i||void 0===s&&""===i?c({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),m(i)?new f(J(i)):(o(s)?xt(t):s?wt(t):n(i)?t._d=i:Ot(t),e=new f(J(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Ot(t){var i=t._i;void 0===i?t._d=new Date:n(i)?t._d=new Date(+i):"string"==typeof i?it(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),yt(t)):"object"==typeof i?kt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Dt(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,Mt(s)}function Tt(t,e,i,o){return Dt(t,e,i,o,!1)}function Ct(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Tt();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+I(~~(t/60),2)+e+I(~~t%60,2)})}function zt(t){var e=(t||"").match(Ji)||[],i=e[e.length-1]||[],o=(i+"").match(_o)||["-",0,0],n=+(60*o[1])+v(o[2]);return"+"===o[0]?n:-n}function At(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(m(t)||n(t)?+t:+Tt(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):Tt(t).local()}function Lt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Bt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=zt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=Lt(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?$t(this,Xt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Lt(this)}function Rt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Ft(t){return this.utcOffset(0,t)}function jt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Lt(this),"m")),this}function Ht(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(zt(this._i)),this}function Yt(t){return t=t?Tt(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Wt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Gt(){ -if(this._a){var t=this._isUTC?h(this._a):Tt(this._a);return this.isValid()&&g(this._a,t.toArray())>0}return!1}function Ut(){return!this._isUTC}function Vt(){return this._isUTC}function qt(){return this._isUTC&&0===this._offset}function Xt(t,e){var i,o,n,s=t,a=null;return It(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=xo.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:v(a[no])*i,h:v(a[so])*i,m:v(a[ro])*i,s:v(a[ao])*i,ms:v(a[ho])*i}):(a=ko.exec(t))?(i="-"===a[1]?-1:1,s={y:Zt(a[2],i),M:Zt(a[3],i),d:Zt(a[4],i),h:Zt(a[5],i),m:Zt(a[6],i),s:Zt(a[7],i),w:Zt(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Jt(Tt(s.from),Tt(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Pt(s),It(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function Zt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Kt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Jt(t,e){var i;return e=At(e,t),t.isBefore(e)?i=Kt(t,e):(i=Kt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Qt(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(tt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Xt(i,o),$t(this,n,t),this}}function $t(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&S(t,"Date",E(t,"Date")+r*o),a&&X(t,E(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function te(t){var e=t||Tt(),i=At(e,this).startOf("day"),o=this.diff(i,"days",!0),n=-6>o?"sameElse":-1>o?"lastWeek":0>o?"lastDay":1>o?"sameDay":2>o?"nextDay":7>o?"nextWeek":"sameElse";return this.format(this.localeData().calendar(n,this,Tt(e)))}function ee(){return new f(this)}function ie(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Tt(t),+this>+t):(i=m(t)?+t:+Tt(t),i<+this.clone().startOf(e))}function oe(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Tt(t),+t>+this):(i=m(t)?+t:+Tt(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function ae(t,e,i){var o,n,s=At(t,this),r=6e4*(s.utcOffset()-this.utcOffset());return e=D(e),"year"===e||"month"===e||"quarter"===e?(n=he(this,s),"quarter"===e?n/=3:"year"===e&&(n/=12)):(o=this-s,n="second"===e?o/1e3:"minute"===e?o/6e4:"hour"===e?o/36e5:"day"===e?(o-r)/864e5:"week"===e?(o-r)/6048e5:o),i?n:re(n)}function he(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function de(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function le(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Tt([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Fe(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ze(t,this.localeData()),this.add(t-e,"d")):e}function je(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function He(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Ye(t,e){N(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function We(t,e){return e._meridiemParse}function Ge(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ue(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Ve(t){N(0,[t,3],0,"millisecond")}function qe(){return this._isUTC?"UTC":""}function Xe(){return this._isUTC?"Coordinated Universal Time":""}function Ze(t){return Tt(1e3*t)}function Ke(){return Tt.apply(null,arguments).parseZone()}function Je(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function Qe(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e}function $e(){return this._invalidDate}function ti(t){return this._ordinal.replace("%d",t)}function ei(t){return t}function ii(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function oi(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ni(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function si(t,e,i,o){var n=M(),s=h().set(o,e);return n[i](s,t)}function ri(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return si(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=si(t,s,i,n);return r}function ai(t,e){return ri(t,e,"months",12,"month")}function hi(t,e){return ri(t,e,"monthsShort",12,"month")}function di(t,e){return ri(t,e,"weekdays",7,"day")}function li(t,e){return ri(t,e,"weekdaysShort",7,"day")}function ui(t,e){return ri(t,e,"weekdaysMin",7,"day")}function ci(){var t=this._data;return this._milliseconds=Uo(this._milliseconds),this._days=Uo(this._days),this._months=Uo(this._months),t.milliseconds=Uo(t.milliseconds),t.seconds=Uo(t.seconds),t.minutes=Uo(t.minutes),t.hours=Uo(t.hours),t.months=Uo(t.months),t.years=Uo(t.years),this}function pi(t,e,i,o){var n=Xt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function fi(t,e){return pi(this,t,e,1)}function mi(t,e){return pi(this,t,e,-1)}function vi(){var t,e,i,o=this._milliseconds,n=this._days,s=this._months,r=this._data,a=0;return r.milliseconds=o%1e3,t=re(o/1e3),r.seconds=t%60,e=re(t/60),r.minutes=e%60,i=re(e/60),r.hours=i%24,n+=re(i/24),a=re(gi(n)),n-=re(yi(a)),s+=re(n/30),n%=30,a+=re(s/12),s%=12,r.days=n,r.months=s,r.years=a,this}function gi(t){return 400*t/146097}function yi(t){return 146097*t/400}function bi(t){var e,i,o=this._milliseconds;if(t=D(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+12*gi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(yi(this._months/12)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function wi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function _i(t){return function(){return this.as(t)}}function xi(t){return t=D(t),this[t+"s"]()}function ki(t){return function(){return this._data[t]}}function Mi(){return re(this.days()/7)}function Oi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Di(t,e,i){var o=Xt(t).abs(),n=hn(o.as("s")),s=hn(o.as("m")),r=hn(o.as("h")),a=hn(o.as("d")),h=hn(o.as("M")),d=hn(o.as("y")),l=n0,l[4]=i,Oi.apply(null,l)}function Ti(t,e){return void 0===dn[t]?!1:void 0===e?dn[t]:(dn[t]=e,!0)}function Ci(t){var e=this.localeData(),i=Di(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Ei(){var t=ln(this.years()),e=ln(this.months()),i=ln(this.days()),o=ln(this.hours()),n=ln(this.minutes()),s=ln(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(o||n||s?"T":"")+(o?o+"H":"")+(n?n+"M":"")+(s?s+"S":""):"P0D"}var Si,Pi,Ii=e.momentProperties=[],Ni=!1,zi={},Ai={},Li=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Bi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ri={},Fi={},ji=/\d/,Hi=/\d\d/,Yi=/\d{3}/,Wi=/\d{4}/,Gi=/[+-]?\d{6}/,Ui=/\d\d?/,Vi=/\d{1,3}/,qi=/\d{1,4}/,Xi=/[+-]?\d{1,6}/,Zi=/\d+/,Ki=/[+-]?\d+/,Ji=/Z|[+-]\d\d:?\d\d/gi,Qi=/[+-]?\d+(\.\d{1,3})?/,$i=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,to={},eo={},io=0,oo=1,no=2,so=3,ro=4,ao=5,ho=6;N("M",["MM",2],"Mo",function(){return this.month()+1}),N("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),N("MMMM",0,0,function(t){return this.localeData().months(this,t)}),O("month","M"),R("M",Ui),R("MM",Ui,Hi),R("MMM",$i),R("MMMM",$i),H(["M","MM"],function(t,e){e[oo]=v(t)-1}),H(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[oo]=n:l(i).invalidMonth=t});var lo="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),uo="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),co={};e.suppressDeprecationWarnings=!1;var po=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],mo=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],vo=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=$("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),N(0,["YY",2],0,function(){return this.year()%100}),N(0,["YYYY",4],0,"year"),N(0,["YYYYY",5],0,"year"),N(0,["YYYYYY",6,!0],0,"year"),O("year","y"),R("Y",Ki),R("YY",Ui,Hi),R("YYYY",qi,Wi),R("YYYYY",Xi,Gi),R("YYYYYY",Xi,Gi),H(["YYYY","YYYYY","YYYYYY"],io),H("YY",function(t,i){i[io]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var go=C("FullYear",!1);N("w",["ww",2],"wo","week"),N("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),R("w",Ui),R("ww",Ui,Hi),R("W",Ui),R("WW",Ui,Hi),Y(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=v(t)});var yo={dow:0,doy:6};N("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),R("DDD",Vi),R("DDDD",Yi),H(["DDD","DDDD"],function(t,e,i){i._dayOfYear=v(t)}),e.ISO_8601=function(){};var bo=$("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Tt.apply(null,arguments);return this>t?this:t}),wo=$("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Tt.apply(null,arguments);return t>this?this:t});Nt("Z",":"),Nt("ZZ",""),R("Z",Ji),R("ZZ",Ji),H(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=zt(t)});var _o=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var xo=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ko=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Xt.fn=Pt.prototype;var Mo=Qt(1,"add"),Oo=Qt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Do=$("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});N(0,["gg",2],0,function(){return this.weekYear()%100}),N(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Te("gggg","weekYear"),Te("ggggg","weekYear"),Te("GGGG","isoWeekYear"),Te("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),R("G",Ki),R("g",Ki),R("GG",Ui,Hi),R("gg",Ui,Hi),R("GGGG",qi,Wi),R("gggg",qi,Wi),R("GGGGG",Xi,Gi),R("ggggg",Xi,Gi),Y(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=v(t)}),Y(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),N("Q",0,0,"quarter"),O("quarter","Q"),R("Q",ji),H("Q",function(t,e){e[oo]=3*(v(t)-1)}),N("D",["DD",2],"Do","date"),O("date","D"),R("D",Ui),R("DD",Ui,Hi),R("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),H(["D","DD"],no),H("Do",function(t,e){e[no]=v(t.match(Ui)[0],10)});var To=C("Date",!0);N("d",0,"do","day"),N("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),N("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),N("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),N("e",0,0,"weekday"),N("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),R("d",Ui),R("e",Ui),R("E",Ui),R("dd",$i),R("ddd",$i),R("dddd",$i),Y(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:l(i).invalidWeekday=t}),Y(["d","e","E"],function(t,e,i,o){e[o]=v(t)});var Co="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Eo="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),So="Su_Mo_Tu_We_Th_Fr_Sa".split("_");N("H",["HH",2],0,"hour"),N("h",["hh",2],0,function(){return this.hours()%12||12}),Ye("a",!0),Ye("A",!1),O("hour","h"),R("a",We),R("A",We),R("H",Ui),R("h",Ui),R("HH",Ui,Hi),R("hh",Ui,Hi),H(["H","HH"],so),H(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),H(["h","hh"],function(t,e,i){e[so]=v(t),l(i).bigHour=!0});var Po=/[ap]\.?m?\.?/i,Io=C("Hours",!0);N("m",["mm",2],0,"minute"),O("minute","m"),R("m",Ui),R("mm",Ui,Hi),H(["m","mm"],ro);var No=C("Minutes",!1);N("s",["ss",2],0,"second"),O("second","s"),R("s",Ui),R("ss",Ui,Hi),H(["s","ss"],ao);var zo=C("Seconds",!1);N("S",0,0,function(){return~~(this.millisecond()/100)}),N(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Ve("SSS"),Ve("SSSS"),O("millisecond","ms"),R("S",Vi,ji),R("SS",Vi,Hi),R("SSS",Vi,Yi),R("SSSS",Zi),H(["S","SS","SSS","SSSS"],function(t,e){e[ho]=v(1e3*("0."+t))});var Ao=C("Milliseconds",!1);N("z",0,0,"zoneAbbr"),N("zz",0,0,"zoneName");var Lo=f.prototype;Lo.add=Mo,Lo.calendar=te,Lo.clone=ee,Lo.diff=ae,Lo.endOf=be,Lo.format=ue,Lo.from=ce,Lo.fromNow=pe,Lo.to=fe,Lo.toNow=me,Lo.get=P,Lo.invalidAt=De,Lo.isAfter=ie,Lo.isBefore=oe,Lo.isBetween=ne,Lo.isSame=se,Lo.isValid=Me,Lo.lang=Do,Lo.locale=ve,Lo.localeData=ge,Lo.max=wo,Lo.min=bo,Lo.parsingFlags=Oe,Lo.set=P,Lo.startOf=ye,Lo.subtract=Oo,Lo.toArray=ke,Lo.toDate=xe,Lo.toISOString=le,Lo.toJSON=le,Lo.toString=de,Lo.unix=_e,Lo.valueOf=we,Lo.year=go,Lo.isLeapYear=at,Lo.weekYear=Ee,Lo.isoWeekYear=Se,Lo.quarter=Lo.quarters=Ne,Lo.month=Z,Lo.daysInMonth=K,Lo.week=Lo.weeks=ct,Lo.isoWeek=Lo.isoWeeks=pt,Lo.weeksInYear=Ie,Lo.isoWeeksInYear=Pe,Lo.date=To,Lo.day=Lo.days=Fe,Lo.weekday=je,Lo.isoWeekday=He,Lo.dayOfYear=mt,Lo.hour=Lo.hours=Io,Lo.minute=Lo.minutes=No,Lo.second=Lo.seconds=zo,Lo.millisecond=Lo.milliseconds=Ao,Lo.utcOffset=Bt,Lo.utc=Ft,Lo.local=jt,Lo.parseZone=Ht,Lo.hasAlignedHourOffset=Yt,Lo.isDST=Wt,Lo.isDSTShifted=Gt,Lo.isLocal=Ut,Lo.isUtcOffset=Vt,Lo.isUtc=qt,Lo.isUTC=qt,Lo.zoneAbbr=qe,Lo.zoneName=Xe,Lo.dates=$("dates accessor is deprecated. Use date instead.",To),Lo.months=$("months accessor is deprecated. Use month instead",Z),Lo.years=$("years accessor is deprecated. Use year instead",go),Lo.zone=$("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Rt);var Bo=Lo,Ro={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Fo={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},jo="Invalid date",Ho="%d",Yo=/\d{1,2}/,Wo={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Go=y.prototype;Go._calendar=Ro,Go.calendar=Je,Go._longDateFormat=Fo,Go.longDateFormat=Qe,Go._invalidDate=jo,Go.invalidDate=$e,Go._ordinal=Ho,Go.ordinal=ti,Go._ordinalParse=Yo,Go.preparse=ei,Go.postformat=ei,Go._relativeTime=Wo,Go.relativeTime=ii,Go.pastFuture=oi,Go.set=ni,Go.months=U,Go._months=lo,Go.monthsShort=V,Go._monthsShort=uo,Go.monthsParse=q,Go.week=dt,Go._week=yo,Go.firstDayOfYear=ut,Go.firstDayOfWeek=lt,Go.weekdays=Ae,Go._weekdays=Co,Go.weekdaysMin=Be,Go._weekdaysMin=So,Go.weekdaysShort=Le,Go._weekdaysShort=Eo,Go.weekdaysParse=Re,Go.isPM=Ge,Go._meridiemParse=Po,Go.meridiem=Ue,x("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=$("moment.lang is deprecated. Use moment.locale instead.",x),e.langData=$("moment.langData is deprecated. Use moment.localeData instead.",M);var Uo=Math.abs,Vo=_i("ms"),qo=_i("s"),Xo=_i("m"),Zo=_i("h"),Ko=_i("d"),Jo=_i("w"),Qo=_i("M"),$o=_i("y"),tn=ki("milliseconds"),en=ki("seconds"),on=ki("minutes"),nn=ki("hours"),sn=ki("days"),rn=ki("months"),an=ki("years"),hn=Math.round,dn={s:45,m:45,h:22,d:26,M:11},ln=Math.abs,un=Pt.prototype;un.abs=ci,un.add=fi,un.subtract=mi,un.as=bi,un.asMilliseconds=Vo,un.asSeconds=qo,un.asMinutes=Xo,un.asHours=Zo,un.asDays=Ko,un.asWeeks=Jo,un.asMonths=Qo,un.asYears=$o,un.valueOf=wi,un._bubble=vi,un.get=xi,un.milliseconds=tn,un.seconds=en,un.minutes=on,un.hours=nn,un.days=sn,un.weeks=Mi,un.months=rn,un.years=an,un.humanize=Ci,un.toISOString=Ei,un.toString=Ei,un.toJSON=Ei,un.locale=ve,un.localeData=ge,un.toIsoString=$("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ei),un.lang=Do,N("X",0,0,"unix"),N("x",0,0,"valueOf"),R("x",Ki),R("X",Qi),H("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),H("x",function(t,e,i){i._d=new Date(v(t))}),e.version="2.10.3",i(Tt),e.fn=Bo,e.min=Et,e.max=St,e.utc=h,e.unix=Ze,e.months=ai,e.isDate=n,e.locale=x,e.invalid=c,e.duration=Xt,e.isMoment=m,e.weekdays=di,e.parseZone=Ke,e.localeData=M,e.isDuration=It,e.monthsShort=hi,e.weekdaysMin=ui,e.defineLocale=k,e.weekdaysShort=li,e.normalizeUnits=D,e.relativeTimeThreshold=Ti;var cn=e;return cn})}).call(e,i(107)(t))},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null,e=!1;return function i(o,n){function s(t){return t.match(/[^ ]+/g)}function r(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0},e.firstTarget=t;for(var o=t;o&&!i;){var n=o.hammer&&o.hammer._handlers[e.type];if(n)for(var s=0;s0?o._handlers[t]=i:(o._off(t,r),delete o._handlers[t]))}),o},o.emit=function(i,n){e||(t=n.target),o._emit(i,n)},o.destroy=function(){var t=o.element;delete t.hammer,o._handlers={},o._destroy()},o}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=z(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=A(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=R(a,h),I(i,e),e.offsetDirection=B(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,N(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Ct||s.eventType===St)&&(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function N(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Tt||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=L(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=B(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function z(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function L(t,e,i){return{x:e/t||0,y:i/t||0}}function B(t,e){return t===e?It:vt(t)>=vt(e)?t>0?Nt:zt:e>0?At:Lt}function R(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return F(e[1],e[0],Ht)-F(t[1],t[0],Ht)}function H(t,e){return R(e[0],e[1],Ht)/R(t[0],t[1],Ht)}function Y(){this.evEl=Wt,this.evWin=Gt,this.allow=!0,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=qt,this.evWin=Xt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Jt,this.started=!1,C.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(St|Pt)&&(i=M(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},C.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Ct|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Ct)for(n=0;na&&(e.push(t),a=e.length-1):n&(St|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},Kt="touchstart",Jt="touchstart touchmove touchend touchcancel";p(G,C,{handler:function(t){var e=Zt[t.type];if(e===Ct&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(St|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Qt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,C,{handler:function(t){var e=Qt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,C,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Ot;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(St|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=O(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){ -var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Bt||r&&i&Rt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;J.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(i.options.event+(e?Q(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?Nt:zt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?At:Lt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,J,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(St|Pt)&&!n)this.reset();else if(t.eventType&Ct)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&St)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&St?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Bt|Rt,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Bt|Rt)?e=t.velocity:i&Bt?e=t.velocityX:i&Rt&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&St},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,J,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=["color","font","fixed","shadow"];if(B.selectiveNotDeepExtend(o,t,e,i),B.mergeOptions(t,e,"shadow"),void 0!==e.color&&null!==e.color){var n=B.parseColor(e.color);B.fillIfDefined(t.color,n)}else i===!0&&null===e.color&&(t.color=void 0,delete t.color);void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&a["default"].parseOptions(t.font,e),void 0!==e.scaling&&B.mergeOptions(t.scaling,e.scaling,"label")}}]),t}();e["default"]=R,t.exports=e["default"]},function(t,e,i){function o(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=this.options.scaling.label.maxVisible&&(r=Number(this.options.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=o(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=o(p,2);i=f[0],h=f[1],t.font=(e?"bold ":"")+r+"px "+this.options.font.face,t.fillStyle=u,t.textAlign="center",this.options.font.strokeWidth>0&&(t.lineWidth=this.options.font.strokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.options.font.align){e=0,i=0;var n=2;"top"===this.options.font.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.options.font.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.options.font.color||"#000000",i=this.options.font.strokeColor||"#ffffff";if(t<=this.options.scaling.label.drawThreshold){ -var o=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.options.font.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=void 0===arguments[2]?0:arguments[2],o=void 0===arguments[3]?0:arguments[3],n=void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.options.font.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.options.font.size,"hanging"===n&&(this.size.top+=.5*this.options.font.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.options.label){o=String(this.options.label).split("\n"),n=o.length,t.font=(e?"bold ":"")+this.options.font.size+"px "+this.options.font.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=["id","from","hidden","hoverWidth","label","length","line","opacity","physics","selectionWidth","selfReferenceSize","to","title","value","width"];if(f.selectiveDeepExtend(o,t,e,i),f.mergeOptions(t,e,"smooth"),f.mergeOptions(t,e,"shadow"),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=void 0,delete t.dashes),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label")):i===!0&&null===e.scaling&&(t.scaling=void 0,delete t.scaling),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var n=e.arrows.toLowerCase();-1!=n.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=n.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=n.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to"),f.mergeOptions(t.arrows,e.arrows,"middle"),f.mergeOptions(t.arrows,e.arrows,"from")}else i===!0&&null===e.arrows&&(t.arrows=void 0,delete t.arrows);if(void 0!==e.color&&null!==e.color)if(f.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var s=!1;void 0!==e.color.color&&(t.color.color=e.color.color,s=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,s=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,s=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&s===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=void 0,delete t.color);void 0!==e.font&&a["default"].parseOptions(t.font,e)}}]),t}();e["default"]=m,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;o>s;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1*Math.random(),e=t),this.overlapAvoidanceFactor<1&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=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)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e,i){for(var o=!0;o;){var n=t,s=e,r=i;a=d=h=void 0,o=!1;var a=Object.getOwnPropertyDescriptor(n,s);if(void 0!==a){if("value"in a)return a.value;var h=a.get;return void 0===h?void 0:h.call(r)}var d=Object.getPrototypeOf(n);if(null===d)return void 0;t=d,e=s,i=r,o=!0}},a=i(74),h=o(a),d=function(t){function e(t,i,o,s,a){n(this,e),r(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,o,s,a),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}return s(e,t),e}(h["default"]);e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom}},{key:"configureKeyboardBindings",value:function(){void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",this.bindToRedraw.bind(this,"_moveUp"),"keydown"),this.keycharm.bind("down",this.bindToRedraw.bind(this,"_moveDown"),"keydown"),this.keycharm.bind("left",this.bindToRedraw.bind(this,"_moveLeft"),"keydown"),this.keycharm.bind("right",this.bindToRedraw.bind(this,"_moveRight"),"keydown"),this.keycharm.bind("=",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num+",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("[",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("]",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pageup",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pagedown",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("up",this.unbindFromRedraw.bind(this,"_moveUp"),"keyup"),this.keycharm.bind("down",this.unbindFromRedraw.bind(this,"_moveDown"),"keyup"),this.keycharm.bind("left",this.unbindFromRedraw.bind(this,"_moveLeft"),"keyup"),this.keycharm.bind("right",this.unbindFromRedraw.bind(this,"_moveRight"),"keyup"),this.keycharm.bind("=",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num+",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("[",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("]",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pageup",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pagedown",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup")))}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.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"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.ythis.imageObj.height?(i=this.imageObj.width/this.imageObj.height,t=2*this.options.size*i||this.imageObj.width,e=2*this.options.size||this.imageObj.height):(i=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,t=2*this.options.size||this.imageObj.width,e=2*this.options.size*i||this.imageObj.height),this.width=t,this.height=e,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=void 0,h=void 0;a=r.x,h=r.y;var d=1e9,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=t,v=e;for(u=1;10>u;u++)c=.1*u,p=Math.pow(1-c,2)*t+2*c*(1-c)*a+Math.pow(c,2)*i,f=Math.pow(1-c,2)*e+2*c*(1-c)*h+Math.pow(c,2)*o,u>0&&(l=this._getDistanceToLine(m,v,p,f,n,s),d=d>l?l:d),m=p,v=f;return d}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t){var e=this.options.color;if(e.inherit!==!1){if("both"===e.inherit&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),o=void 0,n=void 0;return o=this.from.options.color.highlight.border,n=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(o=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),n=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?n=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(o=this.from.options.color.border),i.addColorStop(0,o),i.addColorStop(1,n),i}this.colorDirty===!0&&("to"===e.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,e.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,e.opacity)))}else this.colorDirty===!0&&(this.color.highlight=e.highlight,this.color.hover=e.hover,this.color.color=r.overrideOpacity(e.color,e.opacity));return this.colorDirty=!1,this.selected===!0?this.color.highlight:this.hover===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,n,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,n,s,r,a);else{var d=this._getCircleData(),l=o(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"drawArrowHead",value:function(t,e,i,n,s){t.strokeStyle=this.getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(n,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=o(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]}])}); +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(7),e.DOMutil=i(13),e.DataSet=i(14),e.DataView=i(16),e.Queue=i(15),e.Graph3d=i(17),e.graph3d={Camera:i(21),Filter:i(22),Point2d:i(18),Point3d:i(20),Slider:i(23),StepNumber:i(24)},e.Timeline=i(25),e.Graph2d=i(49),e.timeline={DateUtil:i(31),DataStep:i(52),Range:i(29),stack:i(35),TimeStep:i(37),components:{items:{Item:i(2),BackgroundItem:i(40),BoxItem:i(1),PointItem:i(39),RangeItem:i(36)},Component:i(27),CurrentTime:i(26),CustomTime:i(44),DataAxis:i(51),GraphGroup:i(53),Group:i(34),BackgroundGroup:i(38),ItemSet:i(33),Legend:i(57),LineGraph:i(50),TimeAxis:i(41)}},e.Network=i(59),e.network={Images:i(112),dotparser:i(110),gephiParser:i(111)},e.network.convertDot=function(t){return e.network.dotparser.DOTToGraph(t)},e.network.convertGephi=function(t,i){return e.network.gephiParser.parseGephi(t,i)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(8),e.hammer=i(3),e.Hammer=i(3)},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(2);i(7);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.start0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;i0?o._handlers[t]=i:(o._off(t,r),delete o._handlers[t]))}),o},o.emit=function(i,n){e||(t=n.target),o._emit(i,n)},o.destroy=function(){var t=o.element;delete t.hammer,o._handlers={},o._destroy()},o}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=z(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=A(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=R(a,h),I(i,e),e.offsetDirection=B(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,N(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Ct||s.eventType===St)&&(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function N(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Tt||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=L(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=B(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function z(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function L(t,e,i){return{x:e/t||0,y:i/t||0}}function B(t,e){return t===e?It:vt(t)>=vt(e)?t>0?Nt:zt:e>0?At:Lt}function R(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return F(e[1],e[0],Ht)-F(t[1],t[0],Ht)}function H(t,e){return R(e[0],e[1],Ht)/R(t[0],t[1],Ht)}function Y(){this.evEl=Wt,this.evWin=Gt,this.allow=!0,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=qt,this.evWin=Xt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Jt,this.started=!1,C.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(St|Pt)&&(i=M(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},C.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Ct|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Ct)for(n=0;na&&(e.push(t),a=e.length-1):n&(St|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},Kt="touchstart",Jt="touchstart touchmove touchend touchcancel";p(G,C,{handler:function(t){var e=Zt[t.type];if(e===Ct&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(St|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Qt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,C,{handler:function(t){var e=Qt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,C,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Ot;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(St|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=O(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Bt||r&&i&Rt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;J.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(i.options.event+(e?Q(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?Nt:zt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?At:Lt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,J,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(St|Pt)&&!n)this.reset();else if(t.eventType&Ct)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&St)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&St?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Bt|Rt,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Bt|Rt)?e=t.velocity:i&Bt?e=t.velocityX:i&Rt&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&St},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,J,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancei;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return n=s.exec(t),o(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=s.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var s=/^\/?Date\((\-?\d+)/i;e.getType=function(t){var e=typeof t;return"object"==e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e; +},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var r={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=r.split(t.style.cssText),n=r.split(i),s=e.extend(o,n);t.style.cssText=r.join(s)},e.removeCssText=function(t,e){var i=r.split(t.style.cssText),o=r.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=r.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(i),n=0;n=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(9)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Si.apply(null,arguments)}function i(t){Si=t}function o(t){return"[object Array]"===Object.prototype.toString.call(t)}function n(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function s(t,e){var i,o=[];for(i=0;i0)for(i in Ii)o=Ii[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function f(t){p(this,t),this._d=new Date(+t._d),Ni===!1&&(Ni=!0,e.updateOffset(this),Ni=!1)}function m(t){return t instanceof f||null!=t&&null!=t._isAMomentObject}function v(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function g(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&v(t[o])!==v(e[o]))&&r++;return r+s}function y(){}function b(t){return t?t.toLowerCase().replace("_","-"):t}function w(t){for(var e,i,o,n,s=0;s0;){if(o=_(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&g(n,i,!0)>=e-1)break;e--}s++}return null}function _(e){var i=null;if(!zi[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Pi._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),x(i)}catch(o){}return zi[e]}function x(t,e){var i;return t&&(i="undefined"==typeof e?M(t):k(t,e),i&&(Pi=i)),Pi._abbr}function k(t,e){return null!==e?(e.abbr=t,zi[t]||(zi[t]=new y),zi[t].set(e),x(t),zi[t]):(delete zi[t],null)}function M(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Pi;if(!o(t)){if(e=_(t))return e;t=[t]}return w(t)}function O(t,e){var i=t.toLowerCase();Ai[i]=Ai[i+"s"]=Ai[e]=t}function D(t){return"string"==typeof t?Ai[t]||Ai[t.toLowerCase()]:void 0}function T(t){var e,i,o={};for(i in t)r(t,i)&&(e=D(i),e&&(o[e]=t[i]));return o}function C(t,i){return function(o){return null!=o?(S(this,t,o),e.updateOffset(this,i),this):E(this,t)}}function E(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function S(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function P(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=D(t),"function"==typeof this[t])return this[t](e);return this}function I(t,e,i){for(var o=""+Math.abs(t),n=t>=0;o.lengthe;e++)Fi[o[e]]?o[e]=Fi[o[e]]:o[e]=z(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function L(t,e){return t.isValid()?(e=B(e,t.localeData()),Ri[e]||(Ri[e]=A(e)),Ri[e](t)):t.localeData().invalidDate()}function B(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Bi.lastIndex=0;o>=0&&Bi.test(t);)t=t.replace(Bi,i),Bi.lastIndex=0,o-=1;return t}function R(t,e,i){to[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function F(t,e){return r(to,t)?to[t](e._strict,e._locale):new RegExp(j(t))}function j(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function H(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=v(t)}),i=0;io;o++){if(n=h([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function X(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),G(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function Z(t){return null!=t?(X(this,t),e.updateOffset(this,!0),this):E(this,"Month")}function K(){return G(this.year(),this.month())}function J(t){var e,i=t._a;return i&&-2===l(t).overflow&&(e=i[oo]<0||i[oo]>11?oo:i[no]<1||i[no]>G(i[io],i[oo])?no:i[so]<0||i[so]>24||24===i[so]&&(0!==i[ro]||0!==i[ao]||0!==i[ho])?so:i[ro]<0||i[ro]>59?ro:i[ao]<0||i[ao]>59?ao:i[ho]<0||i[ho]>999?ho:-1,l(t)._overflowDayOfYear&&(io>e||e>no)&&(e=no),l(t).overflow=e),t}function Q(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function $(t,e){var i=!0,o=t+"\n"+(new Error).stack;return a(function(){return i&&(Q(o),i=!1),e.apply(this,arguments)},e)}function tt(t,e){co[t]||(Q(e),co[t]=!0)}function et(t){var e,i,o=t._i,n=po.exec(o);if(n){for(l(t).iso=!0,e=0,i=fo.length;i>e;e++)if(fo[e][1].exec(o)){t._f=fo[e][0]+(n[6]||" ");break}for(e=0,i=mo.length;i>e;e++)if(mo[e][1].exec(o)){t._f+=mo[e][0];break}o.match(Ji)&&(t._f+="Z"),wt(t)}else t._isValid=!1}function it(t){var i=vo.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(et(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function ot(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function nt(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function st(t){return rt(t)?366:365}function rt(t){return t%4===0&&t%100!==0||t%400===0}function at(){return rt(this.year())}function ht(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Tt(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function dt(t){return ht(t,this._week.dow,this._week.doy).week}function lt(){return this._week.dow}function ut(){return this._week.doy}function ct(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function pt(t){var e=ht(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function ft(t,e,i,o,n){var s,r,a=nt(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:n,s=n-a+(a>o?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+s+1,{year:r>0?t:t-1,dayOfYear:r>0?r:st(t-1)+r}}function mt(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function vt(t,e,i){return null!=t?t:null!=e?e:i}function gt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function yt(t){var e,i,o,n,s=[];if(!t._d){for(o=gt(t),t._w&&null==t._a[no]&&null==t._a[oo]&&bt(t),t._dayOfYear&&(n=vt(t._a[io],o[io]),t._dayOfYear>st(n)&&(l(t)._overflowDayOfYear=!0),i=nt(n,0,t._dayOfYear),t._a[oo]=i.getUTCMonth(),t._a[no]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[so]&&0===t._a[ro]&&0===t._a[ao]&&0===t._a[ho]&&(t._nextDay=!0,t._a[so]=0),t._d=(t._useUTC?nt:ot).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[so]=24)}}function bt(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=vt(e.GG,t._a[io],ht(Tt(),1,4).year),o=vt(e.W,1),n=vt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=vt(e.gg,t._a[io],ht(Tt(),s,r).year),o=vt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=ft(i,o,n,r,s),t._a[io]=a.year,t._dayOfYear=a.dayOfYear}function wt(t){if(t._f===e.ISO_8601)return void et(t);t._a=[],l(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=B(t._f,t._locale).match(Li)||[],i=0;i0&&l(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Fi[s]?(o?l(t).empty=!1:l(t).unusedTokens.push(s),W(s,o,t)):t._strict&&!o&&l(t).unusedTokens.push(s);l(t).charsLeftOver=h-d,a.length>0&&l(t).unusedInput.push(a),l(t).bigHour===!0&&t._a[so]<=12&&t._a[so]>0&&(l(t).bigHour=void 0),t._a[so]=_t(t._locale,t._a[so],t._meridiem),yt(t),J(t)}function _t(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function xt(t){var e,i,o,n,s;if(0===t._f.length)return l(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;ns)&&(o=s,i=e));a(t,i||e)}function kt(t){if(!t._d){var e=T(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],yt(t)}}function Mt(t){var e,i=t._i,s=t._f;return t._locale=t._locale||M(t._l),null===i||void 0===s&&""===i?c({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),m(i)?new f(J(i)):(o(s)?xt(t):s?wt(t):n(i)?t._d=i:Ot(t),e=new f(J(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Ot(t){var i=t._i;void 0===i?t._d=new Date:n(i)?t._d=new Date(+i):"string"==typeof i?it(t):o(i)?(t._a=s(i.slice(0),function(t){return parseInt(t,10)}),yt(t)):"object"==typeof i?kt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Dt(t,e,i,o,n){var s={};return"boolean"==typeof i&&(o=i,i=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=n,s._l=i,s._i=t,s._f=e,s._strict=o,Mt(s)}function Tt(t,e,i,o){return Dt(t,e,i,o,!1)}function Ct(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return Tt();for(i=e[0],n=1;nt&&(t=-t,i="-"),i+I(~~(t/60),2)+e+I(~~t%60,2)})}function zt(t){var e=(t||"").match(Ji)||[],i=e[e.length-1]||[],o=(i+"").match(_o)||["-",0,0],n=+(60*o[1])+v(o[2]);return"+"===o[0]?n:-n}function At(t,i){var o,s;return i._isUTC?(o=i.clone(),s=(m(t)||n(t)?+t:+Tt(t))-+o,o._d.setTime(+o._d+s),e.updateOffset(o,!1),o):Tt(t).local()}function Lt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Bt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=zt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=Lt(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?$t(this,Xt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:Lt(this)}function Rt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Ft(t){return this.utcOffset(0,t)}function jt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Lt(this),"m")),this}function Ht(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(zt(this._i)),this}function Yt(t){return t=t?Tt(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Wt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Gt(){if(this._a){var t=this._isUTC?h(this._a):Tt(this._a);return this.isValid()&&g(this._a,t.toArray())>0}return!1}function Ut(){return!this._isUTC}function Vt(){return this._isUTC}function qt(){return this._isUTC&&0===this._offset}function Xt(t,e){var i,o,n,s=t,a=null;return It(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=xo.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:v(a[no])*i,h:v(a[so])*i,m:v(a[ro])*i,s:v(a[ao])*i,ms:v(a[ho])*i}):(a=ko.exec(t))?(i="-"===a[1]?-1:1,s={y:Zt(a[2],i),M:Zt(a[3],i),d:Zt(a[4],i),h:Zt(a[5],i),m:Zt(a[6],i),s:Zt(a[7],i),w:Zt(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Jt(Tt(s.from),Tt(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Pt(s),It(t)&&r(t,"_locale")&&(o._locale=t._locale),o}function Zt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Kt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Jt(t,e){var i;return e=At(e,t),t.isBefore(e)?i=Kt(t,e):(i=Kt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Qt(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(tt(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Xt(i,o),$t(this,n,t),this}}function $t(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&S(t,"Date",E(t,"Date")+r*o),a&&X(t,E(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function te(t){var e=t||Tt(),i=At(e,this).startOf("day"),o=this.diff(i,"days",!0),n=-6>o?"sameElse":-1>o?"lastWeek":0>o?"lastDay":1>o?"sameDay":2>o?"nextDay":7>o?"nextWeek":"sameElse";return this.format(this.localeData().calendar(n,this,Tt(e)))}function ee(){return new f(this)}function ie(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Tt(t),+this>+t):(i=m(t)?+t:+Tt(t),i<+this.clone().startOf(e))}function oe(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=m(t)?t:Tt(t),+t>+this):(i=m(t)?+t:+Tt(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function ae(t,e,i){var o,n,s=At(t,this),r=6e4*(s.utcOffset()-this.utcOffset());return e=D(e),"year"===e||"month"===e||"quarter"===e?(n=he(this,s),"quarter"===e?n/=3:"year"===e&&(n/=12)):(o=this-s,n="second"===e?o/1e3:"minute"===e?o/6e4:"hour"===e?o/36e5:"day"===e?(o-r)/864e5:"week"===e?(o-r)/6048e5:o),i?n:re(n)}function he(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function de(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function le(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Tt([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Fe(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ze(t,this.localeData()),this.add(t-e,"d")):e}function je(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function He(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Ye(t,e){N(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function We(t,e){return e._meridiemParse}function Ge(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ue(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Ve(t){N(0,[t,3],0,"millisecond")}function qe(){return this._isUTC?"UTC":""}function Xe(){return this._isUTC?"Coordinated Universal Time":""}function Ze(t){return Tt(1e3*t)}function Ke(){return Tt.apply(null,arguments).parseZone()}function Je(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function Qe(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e}function $e(){return this._invalidDate}function ti(t){return this._ordinal.replace("%d",t)}function ei(t){return t}function ii(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function oi(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ni(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function si(t,e,i,o){var n=M(),s=h().set(o,e);return n[i](s,t)}function ri(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return si(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=si(t,s,i,n);return r}function ai(t,e){return ri(t,e,"months",12,"month")}function hi(t,e){return ri(t,e,"monthsShort",12,"month")}function di(t,e){return ri(t,e,"weekdays",7,"day")}function li(t,e){return ri(t,e,"weekdaysShort",7,"day")}function ui(t,e){return ri(t,e,"weekdaysMin",7,"day")}function ci(){var t=this._data;return this._milliseconds=Uo(this._milliseconds),this._days=Uo(this._days),this._months=Uo(this._months),t.milliseconds=Uo(t.milliseconds),t.seconds=Uo(t.seconds),t.minutes=Uo(t.minutes),t.hours=Uo(t.hours),t.months=Uo(t.months),t.years=Uo(t.years),this}function pi(t,e,i,o){var n=Xt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function fi(t,e){return pi(this,t,e,1)}function mi(t,e){return pi(this,t,e,-1)}function vi(){var t,e,i,o=this._milliseconds,n=this._days,s=this._months,r=this._data,a=0;return r.milliseconds=o%1e3,t=re(o/1e3),r.seconds=t%60,e=re(t/60),r.minutes=e%60,i=re(e/60),r.hours=i%24,n+=re(i/24),a=re(gi(n)),n-=re(yi(a)),s+=re(n/30),n%=30,a+=re(s/12),s%=12,r.days=n,r.months=s,r.years=a,this}function gi(t){return 400*t/146097}function yi(t){return 146097*t/400}function bi(t){var e,i,o=this._milliseconds;if(t=D(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+12*gi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(yi(this._months/12)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function wi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12)}function _i(t){return function(){return this.as(t)}}function xi(t){return t=D(t),this[t+"s"]()}function ki(t){return function(){return this._data[t]}}function Mi(){return re(this.days()/7)}function Oi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function Di(t,e,i){var o=Xt(t).abs(),n=hn(o.as("s")),s=hn(o.as("m")),r=hn(o.as("h")),a=hn(o.as("d")),h=hn(o.as("M")),d=hn(o.as("y")),l=n0,l[4]=i,Oi.apply(null,l)}function Ti(t,e){return void 0===dn[t]?!1:void 0===e?dn[t]:(dn[t]=e,!0)}function Ci(t){var e=this.localeData(),i=Di(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Ei(){var t=ln(this.years()),e=ln(this.months()),i=ln(this.days()),o=ln(this.hours()),n=ln(this.minutes()),s=ln(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(o||n||s?"T":"")+(o?o+"H":"")+(n?n+"M":"")+(s?s+"S":""):"P0D"}var Si,Pi,Ii=e.momentProperties=[],Ni=!1,zi={},Ai={},Li=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Bi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ri={},Fi={},ji=/\d/,Hi=/\d\d/,Yi=/\d{3}/,Wi=/\d{4}/,Gi=/[+-]?\d{6}/,Ui=/\d\d?/,Vi=/\d{1,3}/,qi=/\d{1,4}/,Xi=/[+-]?\d{1,6}/,Zi=/\d+/,Ki=/[+-]?\d+/,Ji=/Z|[+-]\d\d:?\d\d/gi,Qi=/[+-]?\d+(\.\d{1,3})?/,$i=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,to={},eo={},io=0,oo=1,no=2,so=3,ro=4,ao=5,ho=6;N("M",["MM",2],"Mo",function(){return this.month()+1}),N("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),N("MMMM",0,0,function(t){return this.localeData().months(this,t)}),O("month","M"),R("M",Ui), +R("MM",Ui,Hi),R("MMM",$i),R("MMMM",$i),H(["M","MM"],function(t,e){e[oo]=v(t)-1}),H(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[oo]=n:l(i).invalidMonth=t});var lo="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),uo="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),co={};e.suppressDeprecationWarnings=!1;var po=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fo=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],mo=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],vo=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=$("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),N(0,["YY",2],0,function(){return this.year()%100}),N(0,["YYYY",4],0,"year"),N(0,["YYYYY",5],0,"year"),N(0,["YYYYYY",6,!0],0,"year"),O("year","y"),R("Y",Ki),R("YY",Ui,Hi),R("YYYY",qi,Wi),R("YYYYY",Xi,Gi),R("YYYYYY",Xi,Gi),H(["YYYY","YYYYY","YYYYYY"],io),H("YY",function(t,i){i[io]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return v(t)+(v(t)>68?1900:2e3)};var go=C("FullYear",!1);N("w",["ww",2],"wo","week"),N("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),R("w",Ui),R("ww",Ui,Hi),R("W",Ui),R("WW",Ui,Hi),Y(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=v(t)});var yo={dow:0,doy:6};N("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),R("DDD",Vi),R("DDDD",Yi),H(["DDD","DDDD"],function(t,e,i){i._dayOfYear=v(t)}),e.ISO_8601=function(){};var bo=$("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Tt.apply(null,arguments);return this>t?this:t}),wo=$("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Tt.apply(null,arguments);return t>this?this:t});Nt("Z",":"),Nt("ZZ",""),R("Z",Ji),R("ZZ",Ji),H(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=zt(t)});var _o=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var xo=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ko=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Xt.fn=Pt.prototype;var Mo=Qt(1,"add"),Oo=Qt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Do=$("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});N(0,["gg",2],0,function(){return this.weekYear()%100}),N(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Te("gggg","weekYear"),Te("ggggg","weekYear"),Te("GGGG","isoWeekYear"),Te("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),R("G",Ki),R("g",Ki),R("GG",Ui,Hi),R("gg",Ui,Hi),R("GGGG",qi,Wi),R("gggg",qi,Wi),R("GGGGG",Xi,Gi),R("ggggg",Xi,Gi),Y(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=v(t)}),Y(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),N("Q",0,0,"quarter"),O("quarter","Q"),R("Q",ji),H("Q",function(t,e){e[oo]=3*(v(t)-1)}),N("D",["DD",2],"Do","date"),O("date","D"),R("D",Ui),R("DD",Ui,Hi),R("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),H(["D","DD"],no),H("Do",function(t,e){e[no]=v(t.match(Ui)[0],10)});var To=C("Date",!0);N("d",0,"do","day"),N("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),N("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),N("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),N("e",0,0,"weekday"),N("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),R("d",Ui),R("e",Ui),R("E",Ui),R("dd",$i),R("ddd",$i),R("dddd",$i),Y(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:l(i).invalidWeekday=t}),Y(["d","e","E"],function(t,e,i,o){e[o]=v(t)});var Co="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Eo="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),So="Su_Mo_Tu_We_Th_Fr_Sa".split("_");N("H",["HH",2],0,"hour"),N("h",["hh",2],0,function(){return this.hours()%12||12}),Ye("a",!0),Ye("A",!1),O("hour","h"),R("a",We),R("A",We),R("H",Ui),R("h",Ui),R("HH",Ui,Hi),R("hh",Ui,Hi),H(["H","HH"],so),H(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),H(["h","hh"],function(t,e,i){e[so]=v(t),l(i).bigHour=!0});var Po=/[ap]\.?m?\.?/i,Io=C("Hours",!0);N("m",["mm",2],0,"minute"),O("minute","m"),R("m",Ui),R("mm",Ui,Hi),H(["m","mm"],ro);var No=C("Minutes",!1);N("s",["ss",2],0,"second"),O("second","s"),R("s",Ui),R("ss",Ui,Hi),H(["s","ss"],ao);var zo=C("Seconds",!1);N("S",0,0,function(){return~~(this.millisecond()/100)}),N(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Ve("SSS"),Ve("SSSS"),O("millisecond","ms"),R("S",Vi,ji),R("SS",Vi,Hi),R("SSS",Vi,Yi),R("SSSS",Zi),H(["S","SS","SSS","SSSS"],function(t,e){e[ho]=v(1e3*("0."+t))});var Ao=C("Milliseconds",!1);N("z",0,0,"zoneAbbr"),N("zz",0,0,"zoneName");var Lo=f.prototype;Lo.add=Mo,Lo.calendar=te,Lo.clone=ee,Lo.diff=ae,Lo.endOf=be,Lo.format=ue,Lo.from=ce,Lo.fromNow=pe,Lo.to=fe,Lo.toNow=me,Lo.get=P,Lo.invalidAt=De,Lo.isAfter=ie,Lo.isBefore=oe,Lo.isBetween=ne,Lo.isSame=se,Lo.isValid=Me,Lo.lang=Do,Lo.locale=ve,Lo.localeData=ge,Lo.max=wo,Lo.min=bo,Lo.parsingFlags=Oe,Lo.set=P,Lo.startOf=ye,Lo.subtract=Oo,Lo.toArray=ke,Lo.toDate=xe,Lo.toISOString=le,Lo.toJSON=le,Lo.toString=de,Lo.unix=_e,Lo.valueOf=we,Lo.year=go,Lo.isLeapYear=at,Lo.weekYear=Ee,Lo.isoWeekYear=Se,Lo.quarter=Lo.quarters=Ne,Lo.month=Z,Lo.daysInMonth=K,Lo.week=Lo.weeks=ct,Lo.isoWeek=Lo.isoWeeks=pt,Lo.weeksInYear=Ie,Lo.isoWeeksInYear=Pe,Lo.date=To,Lo.day=Lo.days=Fe,Lo.weekday=je,Lo.isoWeekday=He,Lo.dayOfYear=mt,Lo.hour=Lo.hours=Io,Lo.minute=Lo.minutes=No,Lo.second=Lo.seconds=zo,Lo.millisecond=Lo.milliseconds=Ao,Lo.utcOffset=Bt,Lo.utc=Ft,Lo.local=jt,Lo.parseZone=Ht,Lo.hasAlignedHourOffset=Yt,Lo.isDST=Wt,Lo.isDSTShifted=Gt,Lo.isLocal=Ut,Lo.isUtcOffset=Vt,Lo.isUtc=qt,Lo.isUTC=qt,Lo.zoneAbbr=qe,Lo.zoneName=Xe,Lo.dates=$("dates accessor is deprecated. Use date instead.",To),Lo.months=$("months accessor is deprecated. Use month instead",Z),Lo.years=$("years accessor is deprecated. Use year instead",go),Lo.zone=$("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Rt);var Bo=Lo,Ro={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Fo={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},jo="Invalid date",Ho="%d",Yo=/\d{1,2}/,Wo={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Go=y.prototype;Go._calendar=Ro,Go.calendar=Je,Go._longDateFormat=Fo,Go.longDateFormat=Qe,Go._invalidDate=jo,Go.invalidDate=$e,Go._ordinal=Ho,Go.ordinal=ti,Go._ordinalParse=Yo,Go.preparse=ei,Go.postformat=ei,Go._relativeTime=Wo,Go.relativeTime=ii,Go.pastFuture=oi,Go.set=ni,Go.months=U,Go._months=lo,Go.monthsShort=V,Go._monthsShort=uo,Go.monthsParse=q,Go.week=dt,Go._week=yo,Go.firstDayOfYear=ut,Go.firstDayOfWeek=lt,Go.weekdays=Ae,Go._weekdays=Co,Go.weekdaysMin=Be,Go._weekdaysMin=So,Go.weekdaysShort=Le,Go._weekdaysShort=Eo,Go.weekdaysParse=Re,Go.isPM=Ge,Go._meridiemParse=Po,Go.meridiem=Ue,x("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=$("moment.lang is deprecated. Use moment.locale instead.",x),e.langData=$("moment.langData is deprecated. Use moment.localeData instead.",M);var Uo=Math.abs,Vo=_i("ms"),qo=_i("s"),Xo=_i("m"),Zo=_i("h"),Ko=_i("d"),Jo=_i("w"),Qo=_i("M"),$o=_i("y"),tn=ki("milliseconds"),en=ki("seconds"),on=ki("minutes"),nn=ki("hours"),sn=ki("days"),rn=ki("months"),an=ki("years"),hn=Math.round,dn={s:45,m:45,h:22,d:26,M:11},ln=Math.abs,un=Pt.prototype;un.abs=ci,un.add=fi,un.subtract=mi,un.as=bi,un.asMilliseconds=Vo,un.asSeconds=qo,un.asMinutes=Xo,un.asHours=Zo,un.asDays=Ko,un.asWeeks=Jo,un.asMonths=Qo,un.asYears=$o,un.valueOf=wi,un._bubble=vi,un.get=xi,un.milliseconds=tn,un.seconds=en,un.minutes=on,un.hours=nn,un.days=sn,un.weeks=Mi,un.months=rn,un.years=an,un.humanize=Ci,un.toISOString=Ei,un.toString=Ei,un.toJSON=Ei,un.locale=ve,un.localeData=ge,un.toIsoString=$("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ei),un.lang=Do,N("X",0,0,"unix"),N("x",0,0,"valueOf"),R("x",Ki),R("X",Qi),H("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),H("x",function(t,e,i){i._d=new Date(v(t))}),e.version="2.10.3",i(Tt),e.fn=Bo,e.min=Et,e.max=St,e.utc=h,e.unix=Ze,e.months=ai,e.isDate=n,e.locale=x,e.invalid=c,e.duration=Xt,e.isMoment=m,e.weekdays=di,e.parseZone=Ke,e.localeData=M,e.isDuration=It,e.monthsShort=hi,e.weekdaysMin=ui,e.defineLocale=k,e.weekdaysShort=li,e.normalizeUnits=D,e.relativeTimeThreshold=Ti;var cn=e;return cn})}).call(e,i(10)(t))},function(t,e,i){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e,i){function o(t){throw new Error("Cannot find module '"+t+"'.")}o.keys=function(){return[]},o.resolve=o,t.exports=o,o.id=11},function(t,e,i){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){16>n&&(e[o+n++]=u[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;6>p;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e,i){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.options.drawPoints.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.options.drawPoints.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*o.options.drawPoints.size),a.setAttributeNS(null,"width",o.options.drawPoints.size),a.setAttributeNS(null,"height",o.options.drawPoints.size)),void 0!==o.options.drawPoints.styles&&a.setAttributeNS(null,"style",o.group.options.drawPoints.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var o=this._options.type[i];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[i]="Date":this._type[i]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(7),s=i(15);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=function(){throw new Error("DataSet.subscribe is deprecated. Use DataSet.on instead.")},o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=function(){throw new Error("DataSet.unsubscribe is deprecated. Use DataSet.off instead.")},o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0;ns;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],s=this,r=s._fieldId,a=function(t){var e=t[r];s._data[e]?(e=s._updateItem(t),o.push(e),n.push(t)):(e=s._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),o.length&&this._trigger("update",{items:o,data:n},e),i.concat(o)},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p=o&&o.type||this._options.type,f=o&&o.filter,m=[];if(void 0!=e)d=s._getItem(e,p),f&&!f(d)&&(d=null);else if(void 0!=i)for(u=0,c=i.length;c>u;u++)d=s._getItem(i[u],p),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=s._getItem(l,p),(!f||f(d))&&m.push(d));if(o&&o.order&&void 0==e&&this._sort(m,o.order),o&&o.fields){var v=o.fields;if(void 0!=e)d=this._filterFields(d,v);else for(u=0,c=m.length;c>u;u++)m[u]=this._filterFields(m[u],v)}if("Object"==a){var g={};for(u=0;ue;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&l.push(n[this._fieldId]));else if(h){s=[];for(o in r)r.hasOwnProperty(o)&&s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=r[o],l.push(n[this._fieldId]));return l},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n=e&&e.filter,s=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],o=i[this._fieldId],t(i,o);else for(o in r)r.hasOwnProperty(o)&&(i=this._getItem(o,s),(!n||n(i))&&t(i,o))},o.prototype.map=function(t,e){var i,o=e&&e.filter,n=e&&e.type||this._options.type,s=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!o||o(i))&&s.push(t(i,a)));return e&&e.order&&this._sort(s,e.order),s},o.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var o in t)t.hasOwnProperty(o)&&-1!=e.indexOf(o)&&(i[o]=t[o]);else for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&(i[e[o]]=t[o]);return i},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||r>o)&&(i=s,o=r)}return i},o.prototype.min=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||o>r)&&(i=s,o=r)}return i},o.prototype.distinct=function(t){var e,i=this._data,o=[],s=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(o[e]==d){l=!0;break}l||void 0===d||(o[r]=d,r++)}if(s)for(e=0;ethis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(7),s=i(14);o.prototype.setData=function(t){var e,i,o;if(this._data){this._data.off&&this._data.off("*",this.listener),e=[];for(var n in this._ids)this._ids.hasOwnProperty(n)&&e.push(n);this._ids={},this.length=0,this._trigger("remove",{items:e})}if(this._data=t,this._data){for(this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||"id",e=this._data.getIds({filter:this._options&&this._options.filter}),i=0,o=e.length;o>i;i++)n=e[i],this._ids[n]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},o=[],n=[],s=0;so;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(19),a=i(14),h=i(16),d=i(7),l=i(20),u=i(18),c=i(21),p=i(22),f=i(23),m=i(24);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.colorAxis,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.colorAxis,u.fillStyle=this.colorDot,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(k,n.x,n.y));var M=this.zLabel;M.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(M,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f,m=this.frame.canvas,v=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+n.point.z)/4,u=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),c=1,this.showShadow?(p=Math.min(1+k.x/M/2,1),a=this._hsv2rgb(u,c,p),h=a):(p=1,a=this._hsv2rgb(u,c,p),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,v.lineWidth=d,v.fillStyle=a,v.strokeStyle=h,v.beginPath(),v.moveTo(t.screen.x,t.screen.y),v.lineTo(e.screen.x,e.screen.y),v.lineTo(n.screen.x,n.screen.y),v.lineTo(i.screen.x,i.screen.y),v.closePath(),v.fill(),v.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],o.lineWidth=1,o.strokeStyle="blue",o.beginPath(),o.moveTo(t.screen.x,t.screen.y)),e=1;e0&&o.stroke()}},o.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=n(t),this.startMouseY=s(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)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},o.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(n(t))-this.startMouseX,i=parseFloat(s(t))-this.startMouseY,o=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(o))0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=o},function(t,e,i){function o(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=o},function(t,e,i){function o(t){return t?n(t):void 0}function n(t){for(var e in o.prototype)t[e]=o.prototype[e];return t}t.exports=o,o.prototype.on=o.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},o.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},o.prototype.off=o.prototype.removeListener=o.prototype.removeAllListeners=o.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var o,n=0;no;++o)i[o].apply(this,e)}return this},o.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},o.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){function o(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}o.subtract=function(t,e){var i=new o;return i.x=t.x-e.x,i.y=t.y-e.y,i.z=t.z-e.z,i},o.add=function(t,e){var i=new o;return i.x=t.x+e.x,i.y=t.y+e.y,i.z=t.z+e.z,i},o.avg=function(t,e){return new o((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},o.crossProduct=function(t,e){var i=new o;return i.x=t.y*e.z-t.z*e.y,i.y=t.z*e.x-t.x*e.z,i.z=t.x*e.y-t.y*e.x,i},o.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=o},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(20);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(16);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){ +return void 0===this.index?void 0:this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(){this._current=this._start-this._start%this._step},o.prototype.next=function(){this._current+=this._step},o.prototype.end=function(){return this._current>this._end},t.exports=o},function(t,e,i){function o(t,e,i,h){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof s||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.itemSet=new c(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},this.configurator=new p(this,t,g),h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(19),i(3),i(7)),s=i(14),r=i(16),a=i(29),h=i(32),d=i(41),l=i(26),u=i(44),c=i(33),p=i(45),f=i(47)["default"],m=i(47).printStyle,v=i(48).allOptions,g=i(48).configureOptions;o.prototype=new h,o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){var e=f.validate(t,v);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",m),h.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;if(i){var o=this.getSelection();this.setItems(null),this.setItems(i),this.setSelection(o)}}},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this._getDataRange();var n=void 0!=this.options.start?this.options.start:o.start,a=void 0!=this.options.end?this.options.end:o.end;this.setWindow(n,a,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.getItemRange=function(){var t=this.itemsData&&this.itemsData.getDataSet(),e=null,i=null;if(t){var o=t.min("start");e=o?n.convert(o.start,"Date").valueOf():null;var s=t.max("start");s&&(i=n.convert(s.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?n.convert(r.end,"Date").valueOf():Math.max(i,n.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this.itemSet.itemFromTarget(t),a=this.itemSet.groupFromTarget(t),h=u.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),c=this.body.util.getStep(),p=this._toTime(o),f=d?d(p,l,c):p,m=n.getTarget(t),v=null;return null!=r?v="item":null!=h?v="custom-time":n.hasParent(m,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&n.hasParent(m,this.timeAxis2.dom.foreground)?v="axis":n.hasParent(m,this.itemSet.dom.labelSet)?v="group-label":n.hasParent(m,this.currentTime.bar)?v="current-time":n.hasParent(m,this.dom.center)&&(v="background"),{event:t,item:r?r.id:null,group:a?a.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:s,time:p,snappedTime:f}},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(7),s=i(27),r=i(8),a=i(28);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},o.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((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;30>o&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e){this.options=null,this.props=null}o.prototype.setOptions=function(t){t&&util.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.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=o},function(t,e,i){e.en={current:"current",time:"time"},e.en_EN=e.en,e.en_US=e.en,e.nl={current:"huidige",time:"tijd"},e.nl_NL=e.nl,e.nl_BE=e.nl},function(t,e,i){function o(t,e){var i=a().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function s(t,e){return{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}}var r=i(7),a=(i(30),i(8)),h=i(27),d=i(31);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,s=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,l=this.end,u="object"==typeof i&&"duration"in i?i.duration:500,c="object"==typeof i&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",p=r.easingFunctions[c];if(!p)throw new Error("Unknown easing function "+JSON.stringify(c)+". Choose from: "+Object.keys(r.easingFunctions).join(", "));var f=(new Date).valueOf(),m=!1,v=function b(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-f,i=p(e/u),r=e>u,c=r||null===n?n:h+(n-h)*i,v=r||null===s?s:l+(s-l)*i;g=a._applyRange(c,v),d.updateHiddenDates(a.body,a.options.hiddenDates),m=m||g,g&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),r?m&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animationTimer=setTimeout(b,20)}};return v()}var g=this._applyRange(n,s);if(d.updateHiddenDates(this.body,this.options.hiddenDates),g){var y={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",y),this.body.emitter.emit("rangechanged",y)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.prototype._onDragEnd=function(t){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){i(3);e.onTouch=function(t,e){e.inputHandler=function(t){t.isFirst&&!o&&(e(t),o=!0,setTimeout(function(){o=!1},0))},t.on("hammer.input",e.inputHandler)};var o=!1;e.onRelease=function(t,e){return e.inputHandler=function(t){t.isFinal&&!n&&(e(t),n=!0,setTimeout(function(){n=!1},0))},t.on("hammer.input",e.inputHandler)};var n=!1;e.offTouch=function(t,e){t.off("hammer.input",e.inputHandler)},e.offRelease=e.offTouch},function(t,e,i){var o=i(8);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var c=0,p=s.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;p>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var v=e.isHidden(t.range.start,t.hiddenDates),g=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==v.hidden&&(y=1==t.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==t.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){i=!0;break}}if(1==i&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,n){return n=o(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,n)},e.getHiddenDurationBefore=function(t,e,i){var n=0;i=o(i).toDate().valueOf();for(var s=0;s=e.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(){}var n=i(19),s=i(3),r=i(30),a=i(7),h=(i(14),i(16),i(29),i(33),i(41)),d=i(42),l=i(31),u=i(44);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",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.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){ +i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof t.orientation&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("hiddenDates"in this.options&&l.convertHiddenOptions(this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),this.configurator){this.configurator.setOptions(t.configure);var n=a.deepExtend({},this.options);this.components.forEach(function(t){a.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?a.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,{time:i,id:e});return this.customTimes.push(n),this.components.push(n),this.redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(e.start,e.end,i)}},o.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var o=i.valueOf()-e.valueOf();0>=o&&(o=864e5),e=new Date(e.valueOf()-.05*o),i=new Date(i.valueOf()+.05*o)}return{start:e,end:i}},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation.item,r=!1,a=this.dom.frame,h=o.editable.updateTime||o.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset"+(h?" vis-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 u=this.stackDirty,c=this._firstGroup(),p={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,u),s.forEach(this.groups,function(t){var i=t==c?p:f,o=t.redraw(e,i,u);r=o||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,n=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=e._getType(n),a=o.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,n):(i=s.selected,e._removeItem(s),s=null)),!s){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(n,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:r})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(t.stopPropagation(),o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){i.push(e.id);var s=o._getItemRange(this.itemsData.get(i,this.itemOptions));i=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=s.min&&d<=s.max&&!(a instanceof m)&&i.push(a.id)}}else{var l=i.indexOf(e.id);-1==l?i.push(e.id):i.splice(l,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection()})}}},o._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&ec;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var o=this;if(i.length>0){var s=i[0].top,r=i[0].top+i[0].height;if(n.forEach(i,function(t){s=Math.min(s,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(o.subgroups[t.data.subgroup].height=Math.max(o.subgroups[t.data.subgroup].height,t.height),o.subgroups[t.data.subgroup].visible=!0)}),s>t.axis){var a=s-t.axis;r-=a,n.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-i.vertical+oe.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(3),i(2));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t,e,i,n){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=n,void 0===n&&(this.hiddenDates=[]),this.format=o.FORMAT}var n=i(8),s=i(31),r=i(7);o.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},o.prototype.setFormat=function(t){var e=r.deepExtend({},o.FORMAT);this.format=r.deepExtend(e,t)},o.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},o.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},o.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},o.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},o.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"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"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=new Date(t.valueOf());if("year"==e){var n=o.getFullYear()+Math.round(o.getMonth()/12);o.setFullYear(Math.round(n/i)*i),o.setMonth(0),o.setDate(0),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("month"==e)o.getDate()>15?(o.setDate(1),o.setMonth(o.getMonth()+1)):o.setDate(1),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.setHours(24*Math.round(o.getHours()/24));break;default:o.setHours(12*Math.round(o.getHours()/12))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.setHours(12*Math.round(o.getHours()/12));break;default:o.setHours(6*Math.round(o.getHours()/6))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:o.setMinutes(60*Math.round(o.getMinutes()/60));break;default:o.setMinutes(30*Math.round(o.getMinutes()/30))}o.setSeconds(0),o.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.setMinutes(5*Math.round(o.getMinutes()/5)),o.setSeconds(0);break;case 5:o.setSeconds(60*Math.round(o.getSeconds()/60));break;default:o.setSeconds(30*Math.round(o.getSeconds()/30))}o.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.setSeconds(5*Math.round(o.getSeconds()/5)),o.setMilliseconds(0);break;case 5:o.setMilliseconds(1e3*Math.round(o.getMilliseconds()/1e3));break;default:o.setMilliseconds(500*Math.round(o.getMilliseconds()/500))}else if("millisecond"==e){var s=i>5?i/2:1;o.setMilliseconds(Math.round(o.getMilliseconds()/s)*s)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(n().add(1,"day"),"day")?" vis-tomorrow":t.isSame(n().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function s(t){return t.isSame(new Date,"year")?" vis-current-year":""}var r=n(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"vis-h"+d+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"vis-day"+l+" vis-"+u+o(a)+t(l-1);case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"vis-year"+c+s(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){n.call(this,t,e,i),this.width=0,this.height=0,this.top=0,this.left=0}var n=(i(7),i(34));o.prototype=Object.create(n.prototype),o.prototype.redraw=function(t,e,i){var o=!1;this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,t),this.width=this.dom.background.offsetWidth,this.dom.background.style.height="0";for(var n=0,s=this.visibleItems.length;s>n;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{top:0,width:0,height:0},content:{height:0,marginLeft:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(2);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,format:r.FORMAT,timeAxis:null},this.options=n.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n=i(7),s=i(27),r=i(37),a=i(31),h=i(8);o.prototype=new s,o.prototype.setOptions=function(t){t&&(n.selectiveExtend(["showMinorLabels","showMajorLabels","hiddenDates","timeAxis"],this.options,t),n.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"==typeof t.orientation&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof h.locale?h.locale(t.locale):h.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.options,e=this.props,i=this.dom.foreground,o=this.dom.background,n="top"==t.orientation.axis?this.body.dom.top:this.body.dom.bottom,s=i.parentNode!==n;this._calculateCharSize();var r=this.options.showMinorLabels,a=this.options.showMajorLabels;e.minorLabelHeight=r?e.minorCharHeight:0,e.majorLabelHeight=a?e.majorCharHeight:0,e.height=e.minorLabelHeight+e.majorLabelHeight,e.width=i.offsetWidth,e.minorLineHeight=this.body.domProps.root.height-e.majorLabelHeight-("top"==t.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),e.minorLineWidth=1,e.majorLineHeight=e.minorLineHeight+e.majorLabelHeight,e.majorLineWidth=1;var h=i.nextSibling,d=o.nextSibling;return i.parentNode&&i.parentNode.removeChild(i),o.parentNode&&o.parentNode.removeChild(o),i.style.height=this.props.height+"px",this._repaintLabels(),h?n.insertBefore(i,h):n.appendChild(i),d?this.body.dom.backgroundVertical.insertBefore(o,d):this.body.dom.backgroundVertical.appendChild(o),this._isResized()||s},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=n.convert(this.body.range.start,"Number"),i=n.convert(this.body.range.end,"Number"),o=this.body.util.toTime(7*(this.props.minorCharWidth||10)).valueOf(),s=o-a.getHiddenDurationBefore(this.body.hiddenDates,this.body.range,o);s-=this.body.util.toTime(0).valueOf();var h=new r(new Date(e),new Date(i),s,this.body.hiddenDates);this.options.format&&h.setFormat(this.options.format),this.options.timeAxis&&h.setScale(this.options.timeAxis),this.step=h;var d=this.dom;d.redundant.lines=d.lines,d.redundant.majorTexts=d.majorTexts,d.redundant.minorTexts=d.minorTexts,d.lines=[],d.majorTexts=[],d.minorTexts=[];var l,u,c,p,f=0,m=0,v=0,g=void 0,y=0;for(h.first();h.hasNext()&&1e3>y;)y++,l=h.getCurrent(),u=h.isMajor(),p=h.getClassName(),m=f,f=this.body.util.toScreen(l),v=f-m,c&&(c.style.width=v+"px"),this.options.showMinorLabels&&this._repaintMinorText(f,h.getLabelMinor(),t,p),u&&this.options.showMajorLabels?(f>0&&(void 0==g&&(g=f),this._repaintMajorText(f,h.getLabelMajor(),t,p)),c=this._repaintMajorLine(f,t,p)):c=this._repaintMinorLine(f,t,p),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),w=h.getLabelMajor(b),_=w.length*(this.props.majorCharWidth||10)+10;(void 0==g||g>_)&&this._repaintMajorText(0,w,t,p)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px"},o.prototype._repaintMinorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top=n.majorLabelHeight+"px":o.style.top=this.body.domProps.top.height+"px",o.style.height=n.minorLineHeight+"px",o.style.left=t-n.minorLineWidth/2+"px",o.className="vis-grid vis-vertical vis-minor "+i,o},o.prototype._repaintMajorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top="0":o.style.top=this.body.domProps.top.height+"px",o.style.left=t-n.majorLineWidth/2+"px",o.style.height=n.majorLineHeight+"px",o.className="vis-grid vis-vertical vis-major "+i,o},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=o},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.bodyHammer=a(document&&document.body,{prevent_default:!1}),this.bodyHammer.on("tap",function(i){n(i.target,t)||e.deactivate()}),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(43),r=i(19),a=i(3),h=i(7);r(o.prototype),o.current=null,o.prototype.destroy=function(){ +this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.bodyHammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;122>=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;n0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-network-configuration button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-network-configuration button hover"},e.onmouseout=function(){e.className="vis-network-configuration button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-network-configuration vis-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push(),this.colorPicker.insertTo(this.container)}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-network-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;i>n;n++)o[n-1]=arguments[n];this.allowCreation===!0&&!function(){var i=document.createElement("div");i.className="vis-network-configuration item s"+t.length,o.forEach(function(t){i.appendChild(t)}),e.domElements.push(i)}()}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-network-configuration header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-network-configuration label s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-network-configuration select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;se&&n>2*e?a.min=2*e:n>.1*e&&(a.min=e/10),2*e>s&&1!==s&&(a.max=2*e),a.value=e):a.value=o;var h=document.createElement("input");h.className="vis-network-configuration rangeinput",h.value=a.value;var d=this;a.onchange=function(){h.value=this.value,d._update(Number(this.value),i)},a.oninput=function(){h.value=this.value};var l=this._makeLabel(i[i.length-1],i);this._makeItem(i,l,a,h)}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-network-configuration checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeTextInput",value:function(t,e,i){var o=document.createElement("input");o.type="text",o.className="vis-network-configuration text",o.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var n=this;o.onchange=function(){n._update(this.value,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],s=document.createElement("div");e=void 0===e?n:e,"none"!==e?(s.className="vis-network-configuration colorBlock",s.style.backgroundColor=e):s.className="vis-network-configuration colorBlock none",e=void 0===e?n:e,s.onclick=function(){o._showColorPicker(e,s,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,s)}},{key:"_showColorPicker",value:function(t,e,i){var o=this,n=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),r=n.left+n.width+5,a=n.top-s.top+.5*n.height;this.colorPicker.show(r,a),this.colorPicker.setColor(t),this.colorPicker.setCallback(function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})}},{key:"_handleObject",value:function(t){var e=void 0===arguments[1]?[]:arguments[1],i=void 0===arguments[2]?!1:arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],d=h.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,d,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var l=this._getValue(d);if(a instanceof Array)this._handleArray(a,l,d);else if("string"==typeof a)this._makeTextInput(a,l,d);else if("boolean"==typeof a)this._makeCheckbox(a,l,d);else if(a instanceof Object){var u=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(u=!1),u===!0)if(void 0!==a.enabled){var c=h.copyAndExtendArray(d,"enabled"),p=this._getValue(c);if(p===!0){var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}else this._makeCheckbox(a,p,d)}else{var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}}else console.error("dont know how to handle",a,r,d)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=void 0===arguments[2]?{}:arguments[2],o=i;t="true"===t?!0:t,t="false"===t?!1:t;for(var n=0;nvar options = "+JSON.stringify(t,null,2)+""}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),h):n.distance<=d?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),h):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),h),r=!0}},{key:"findInOptions",value:function(e,i,o){var n=void 0===arguments[3]?!1:arguments[3],r=1e9,a="",h=[],d=e.toLowerCase(),l=void 0;for(var u in i){var c=void 0;if(void 0!==i[u].__type__&&n===!0){var p=t.findInOptions(e,i[u],s.copyAndExtendArray(o,u));r>p.distance&&(a=p.closestMatch,h=p.path,r=p.distance,l=p.indexMatch)}else-1!==u.toLowerCase().indexOf(d)&&(l=u),c=t.levenshteinDistance(e,u),r>c&&(a=u,h=s.copyArray(o),r=c)}return{closestMatch:a,path:h,distance:r,indexMatch:l}}},{key:"printLocation",value:function(t,e){for(var i=void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var s=0;sr?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=u.customTimeFromTarget(t),h=n.getTarget(t),d=null;n.hasParent(h,this.timeAxis.dom.foreground)?d="axis":this.timeAxis2&&n.hasParent(h,this.timeAxis2.dom.foreground)?d="axis":n.hasParent(h,this.linegraph.yAxisLeft.dom.frame)?d="data-axis":n.hasParent(h,this.linegraph.yAxisRight.dom.frame)?d="data-axis":n.hasParent(h,this.linegraph.legendLeft.dom.frame)?d="legend":n.hasParent(h,this.linegraph.legendRight.dom.frame)?d="legend":null!=a?d="custom-time":n.hasParent(h,this.currentTime.bar)?d="current-time":n.hasParent(h,this.dom.center)&&(d="background");var l=[],c=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return c.hidden||l.push(c.screenToValue(s)),p.hidden||l.push(p.screenToValue(s)),{event:t,what:d,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:s,time:r,value:l}},t.exports=o},function(t,e,i){function o(t,e){this.id=n.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=n.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.COUNTER=0,this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=n.option.asSize(-i.props.width),i.redraw.call(i,!0)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups},this.body.emitter.emit("change")}var n=i(7),s=i(13),r=i(14),a=i(16),h=i(27),d=i(51),l=i(53),u=i(57),c=i(56),p=i(54),f="__ungrouped__";o.prototype=new h,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new u(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new u(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height&&void 0!==this.body.domProps.centerContainer.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),u={};for(this._getRelevantData(a,u,d,l),this._applySampling(a,u),e=0;ep&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;ro){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=s)d.push(n[l]);e[t[o]]=d}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0?"left"==r.yAxisOrientation?a=a.concat(n.getData(o)):h=h.concat(n.getData(o)):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.getStackedYRange(h,i,t,"__barStackRight","right"),p.getStackedYRange(a,i,t,"__lineStackLeft","left"),p.getStackedYRange(h,i,t,"__lineStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;ut?-1:1});for(var a=0;a0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(this.groups[i].visible!==!0||void 0!==this.linegraphOptions.visibility[i]&&this.linegraphOptions.visibility[i]!==!0||e++);if(0===this.amountOfGroups||0===e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=this.options.visible===!0?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"===s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,this.options.icons===!0?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e,i=this.options.orientation;if(this.master===!1){var o,n,r,h;-1!==this.zeroCrossing&&this.options.alignZeros===!0?this.range.end>0?(o=this.range.end/this.zeroCrossing,n=this.range.end-this.amountOfSteps*o,r=this.range.end):(o=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing),n=this.range.start,r=this.range.start+o*this.amountOfSteps):(n=this.range.start,r=this.range.end),h=this.stepPixels}else h=this.props.majorCharHeight,n=this.range.start,r=this.range.end;if(this.step=e=new a(n,r,h,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===!1&&this.options.alignZeros),this.master===!0)this.stepPixels=this.dom.frame.offsetHeight/e.marginRange*e.step,this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels);else if(this.options.alignZeros===!0&&-1!==this.zeroCrossing){var d=(e.current-this.zeroCrossing*e.step)/e.step;this.step.shift(d)}this.valueAtBottom=e.marginEnd,this.maxLabelSize=0;for(var l=0,u=0,c=!1;u0&&u!==this.amountOfSteps&&((this.options.showMinorLabels&&c===!1||this.master===!1&&this.options.showMinorLabels===!0)&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-minor",this.props.minorCharHeight),c&&this.options.showMajorLabels&&this.master===!0||this.options.showMinorLabels===!1&&this.master===!1&&c===!0?(l>=0&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(l,i,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(l,i,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth)),this.master===!0&&0===e.current&&(this.zeroCrossing=u),e.next(),u+=1;this.master===!0&&0===e.current&&(this.zeroCrossing=u),this.conversionFactor=this.stepPixels/e.step;var p=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(p=this.props.titleCharHeight);var f=this.options.icons===!0?Math.max(this.options.iconWidth,p)+this.options.labelOffsetX+15:p+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&this.options.visible===!0?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtBottom-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtBottom-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"===i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizes&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(d===!0)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},o.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.alignZeros===!0&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},o.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},o.prototype.hasNext=function(){return this.current>=this.marginStart},o.prototype.next=function(){var t=this.current;this.current-=this.step,this.current===t&&(this.current=this._end)},o.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},o.prototype.getCurrent=function(){var t=Math.abs(this.current)t)for(var e=0;-t>e;e++)this.previous();else if(t>0)for(var e=0;t>e;e++)this.next()},t.exports=o},function(t,e,i){function o(t,e,i,o){this.id=e;var s=["sampling","style","sort","yAxisOrientation","barChart","drawPoints","shaded","interpolation"];this.options=n.selectiveBridgeObject(s,i),this.usingDefaultStyle=void 0===t.className,this.groupsUsingDefaultStyles=o,this.zeroPosition=0,this.update(t),1==this.usingDefaultStyle&&(this.groupsUsingDefaultStyles[0]+=1),this.itemsData=[],this.visible=void 0===t.visible?!0:t.visible}var n=i(7),s=i(13),r=i(54),a=i(56),h=i(55);o.prototype.setItems=function(t){null!=t?(this.itemsData=t,1==this.options.sort&&this.itemsData.sort(function(t,e){return t.x-e.x})):this.itemsData=[]},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart"];n.selectiveDeepExtend(e,this.options,t),n.mergeOptions(this.options,t,"interpolation"),n.mergeOptions(this.options,t,"drawPoints"),n.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==typeof t.interpolation&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}"line"==this.options.style?this.type=new r(this.id,this.options):"bar"==this.options.style?this.type=new a(this.id,this.options):"points"==this.options.style&&(this.type=new h(this.id,this.options))},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible?!0:t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.drawIcon=function(t,e,i,o,n,r){var a,h,d=.5*r,l=s.getSVGElement("rect",i,o);if(l.setAttributeNS(null,"x",t),l.setAttributeNS(null,"y",e-d),l.setAttributeNS(null,"width",n),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),"line"==this.options.style)a=s.getSVGElement("path",i,o),a.setAttributeNS(null,"class",this.className),void 0!==this.style&&a.setAttributeNS(null,"style",this.style),a.setAttributeNS(null,"d","M"+t+","+e+" L"+(t+n)+","+e),1==this.options.shaded.enabled&&(h=s.getSVGElement("path",i,o),"top"==this.options.shaded.orientation?h.setAttributeNS(null,"d","M"+t+", "+(e-d)+"L"+t+","+e+" L"+(t+n)+","+e+" L"+(t+n)+","+(e-d)):h.setAttributeNS(null,"d","M"+t+","+e+" L"+t+","+(e+d)+" L"+(t+n)+","+(e+d)+"L"+(t+n)+","+e),h.setAttributeNS(null,"class",this.className+" vis-icon-fill")),1==this.options.drawPoints.enabled&&s.drawPoint(t+.5*n,e,this,i,o);else{var u=Math.round(.3*n),c=Math.round(.4*r),p=Math.round(.75*r),f=Math.round((n-2*u)/3);s.drawBar(t+.5*u+f,e+d-c-1,u,c,this.className+" vis-bar",i,o,this.style),s.drawBar(t+1.5*u+f+2,e+d-p-1,u,p,this.className+" vis-bar",i,o,this.style)}},o.prototype.getLegend=function(t,e){var i=document.createElementNS("http://www.w3.org/2000/svg","svg");return this.drawIcon(0,.5*e,[],i,t,e),{icon:i,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){return this.type.getYRange(t)},o.prototype.getData=function(t){return this.type.getData(t)},o.prototype.draw=function(t,e,i){this.type.draw(t,e,i)},t.exports=o},function(t,e,i){function o(t,e){this.groupId=t,this.options=e}var n=i(13),s=i(55);o.prototype.getData=function(t){for(var e=[],i=0;it[o].y?t[o].y:e,i=i0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o.prototype.draw=function(t,e,i){if(null!=t&&t.length>0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=n.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t),1==e.options.shaded.enabled){var d,l=n.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&s.draw(t,e,i)}},o._catmullRomUniform=function(t){for(var e,i,o,n,s,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={x:(-e.x+6*i.x+o.x)*h,y:(-e.y+6*i.y+o.y)*h},r={x:(i.x+6*o.x-n.x)*h,y:(i.y+6*o.y-n.y)*h},a+="C"+s.x+","+s.y+" "+r.x+","+r.y+" "+o.x+","+o.y+" ";return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",k=t.length,M=0;k-1>M;M++)o=0==M?t[0]:t[M-1],n=t[M],s=t[M+1],r=k>M+2?t[M+2]:s,d=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(n.x-s.x,2)+Math.pow(n.y-s.y,2)),u=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={x:(-b*o.x+c*n.x+w*s.x)*f,y:(-b*o.y+c*n.y+w*s.y)*f},h={x:(y*n.x+p*s.x-b*r.x)*m,y:(y*n.y+p*s.y-b*r.y)*m},0==a.x&&0==a.y&&(a=n),0==h.x&&0==h.y&&(h=s),x+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+s.x+","+s.y+" ";return x},o._linear=function(t){for(var e="",i=0;it[o].y?t[o].y:e,i=it[o].y?t[o].y:e,i=i0&&(r=Math.min(r,Math.abs(c[l-1].x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,d.options.stack===!0?c[l].y0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=nt?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.prepareElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=["color","font","fixed","shadow"];if(B.selectiveNotDeepExtend(o,t,e,i),B.mergeOptions(t,e,"shadow"),void 0!==e.color&&null!==e.color){var n=B.parseColor(e.color);B.fillIfDefined(t.color,n)}else i===!0&&null===e.color&&(t.color=void 0,delete t.color);void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y))),void 0!==e.font&&a["default"].parseOptions(t.font,e),void 0!==e.scaling&&B.mergeOptions(t.scaling,e.scaling,"label")}}]),t}();e["default"]=R,t.exports=e["default"]},function(t,e,i){function o(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=this.options.scaling.label.maxVisible&&(r=Number(this.options.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=o(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=o(p,2);i=f[0],h=f[1],t.font=(e?"bold ":"")+r+"px "+this.options.font.face,t.fillStyle=u,t.textAlign="center",this.options.font.strokeWidth>0&&(t.lineWidth=this.options.font.strokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.options.font.align){e=0,i=0;var n=2;"top"===this.options.font.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.options.font.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.options.font.color||"#000000",i=this.options.font.strokeColor||"#ffffff";if(t<=this.options.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.options.font.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=void 0===arguments[2]?0:arguments[2],o=void 0===arguments[3]?0:arguments[3],n=void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.options.font.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.options.font.size,"hanging"===n&&(this.size.top+=.5*this.options.font.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.options.label){o=String(this.options.label).split("\n"),n=o.length,t.font=(e?"bold ":"")+this.options.font.size+"px "+this.options.font.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ithis.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size||this.imageObj.width,i=2*this.options.size*o||this.imageObj.height),this.width=e, +this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=["id","from","hidden","hoverWidth","label","length","line","opacity","physics","selectionWidth","selfReferenceSize","to","title","value","width"];if(f.selectiveDeepExtend(o,t,e,i),f.mergeOptions(t,e,"smooth"),f.mergeOptions(t,e,"shadow"),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=void 0,delete t.dashes),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label")):i===!0&&null===e.scaling&&(t.scaling=void 0,delete t.scaling),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var n=e.arrows.toLowerCase();-1!=n.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=n.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=n.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to"),f.mergeOptions(t.arrows,e.arrows,"middle"),f.mergeOptions(t.arrows,e.arrows,"from")}else i===!0&&null===e.arrows&&(t.arrows=void 0,delete t.arrows);if(void 0!==e.color&&null!==e.color)if(f.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var s=!1;void 0!==e.color.color&&(t.color.color=e.color.color,s=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,s=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,s=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&s===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=void 0,delete t.color);void 0!==e.font&&a["default"].parseOptions(t.font,e)}}]),t}();e["default"]=m,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=void 0,h=void 0;a=r.x,h=r.y;var d=1e9,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=t,v=e;for(u=1;10>u;u++)c=.1*u,p=Math.pow(1-c,2)*t+2*c*(1-c)*a+Math.pow(c,2)*i,f=Math.pow(1-c,2)*e+2*c*(1-c)*h+Math.pow(c,2)*o,u>0&&(l=this._getDistanceToLine(m,v,p,f,n,s),d=d>l?l:d),m=p,v=f;return d}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i){var o=this.options.color;if(o.inherit!==!1){if("both"===o.inherit&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,a=void 0;return s=this.from.options.color.highlight.border,a=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),a=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?a=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,a),n}this.colorDirty===!0&&("to"===o.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,o.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,o.opacity)))}else this.colorDirty===!0&&(this.color.highlight=o.highlight,this.color.hover=o.hover,this.color.color=r.overrideOpacity(o.color,o.opacity));return this.colorDirty=!1,e===!0?this.color.highlight:i===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,n,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,n,s,r,a);else{var d=this._getCircleData(),l=o(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"drawArrowHead",value:function(t,e,i,n,s){t.strokeStyle=this.getColor(t,n,s),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(n,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=o(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;ithis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.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"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.y1&&(this.startedStabilization=!1),this.stopSimulation())}},{key:"_emitStabilized",value:function(){var t=this;this.stabilizationIterations>1&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:t.stabilizationIterations}),t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){this.stabilized===!1&&(this.calculateForces(),this.stabilized=this.moveNodes(),this.stabilized===!0?this.revert():this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilizationIterations++)}},{key:"updatePhysicsData",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)t.hasOwnProperty(i)&&t[i].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(o);for(var n=0;na&&o===!0,t=!0}return t===!0?n>.5*this.options.maxVelocity?!1:o:!0}},{key:"_performStep",value:function(t,e){var i=this.body.nodes[t],o=this.options.timestep,n=this.physicsBody.forces,s=this.physicsBody.velocities;if(this.previousStates[t]={x:i.x,y:i.y,vx:s[t].x,vy:s[t].y},i.options.fixed.x===!1){var r=this.modelOptions.damping*s[t].x,a=(n[t].x-r)/i.options.mass;s[t].x+=a*o,s[t].x=Math.abs(s[t].x)>e?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedrawRequests"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)}},{key:"_stabilizationBatch",value:function(){for(var t=0;this.stabilized===!1&&t0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;o>s;s++)t=e[i[s]],t.options.mass>0&&(this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?(this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")}},{key:"_placeInRegion",value:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x===e.x&&t.children[i].children.data.y===e.y?(e.x+=.1,e.y+=.1):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=t&&i.push(n.id)}for(var o=0;o0&&Object.keys(s).length>0&&i.push({nodes:n,edges:s})}}}for(var o=0;oo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t){var e=void 0===arguments[1]?!0:arguments[1];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var i=this.body.nodes[t],o=i.containedNodes,n=i.containedEdges;for(var s in o)if(o.hasOwnProperty(s)){var r=this.body.nodes[s];r=o[s],r.x=i.x,r.y=i.y,r.vx=i.vx,r.vy=i.vy,r.options.hidden=!1,r.togglePhysics(!0),delete this.clusteredNodes[s]}for(var a in n)if(n.hasOwnProperty(a)){var d=n[a];if(void 0===this.body.nodes[d.fromId]||void 0===this.body.nodes[d.toId])d.edgeType.cleanup(),d.disconnect(),delete this.body.edges[a];else if(void 0!==this.clusteredNodes[d.fromId]||void 0!==this.clusteredNodes[d.toId]){var l=void 0,u=void 0,c=this.clusteredNodes[d.fromId]||this.clusteredNodes[d.toId],p=c.clusterId,f=this.body.nodes[p];if(f.containedEdges[a]=d,void 0!==this.clusteredNodes[d.fromId]?(l=p,u=d.toId):(l=d.fromId,u=p),this.body.nodes[l].options.hidden!==!0&&this.body.nodes[u].options.hidden!==!0){var m=this._cloneOptions(d,"edge"),v="clusterEdge:"+h.randomUUID();h.deepExtend(m,f.clusterEdgeProperties),h.deepExtend(m,{from:l,to:u,hidden:!1,physics:!0,id:v});var g=this.body.functions.createEdge(m);this.body.edges[v]=g,this.body.edges[v].connect()}}else d.options.hidden=!1,d.togglePhysics(!0)}for(var y=0;yo;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e,i){for(var o=!0;o;){var n=t,s=e,r=i;a=d=h=void 0,o=!1;var a=Object.getOwnPropertyDescriptor(n,s);if(void 0!==a){if("value"in a)return a.value;var h=a.get;return void 0===h?void 0:h.call(r)}var d=Object.getPrototypeOf(n);if(null===d)return void 0;t=d,e=s,i=r,o=!0}},a=i(62),h=o(a),d=function(t){function e(t,i,o,s,a){n(this,e),r(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,o,s,a),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}return s(e,t),e}(h["default"]);e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedrawRequests===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,!1),0):window.requestAnimationFrame(this._redraw.bind(this,!1)))}},{key:"_redraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;e.clearRect(0,0,i,o),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0)for(var r=0;rt.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),ot.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),o.5*this.body.nodeIndices.length)return void this.fit(i,!1);t=this._getRange(i.nodes);var a=this.body.nodeIndices.length;e=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);e*=h}else{this.body.emitter.emit("_resizeNodes"),t=this._getRange(i.nodes);var d=1.1*Math.abs(t.maxX-t.minX),l=1.1*Math.abs(t.maxY-t.minY),u=this.canvas.frame.canvas.clientWidth/d,c=this.canvas.frame.canvas.clientHeight/l;e=c>=u?u:c}e>1?e=1:0===e&&(e=1);var p=this._findCenter(t),f={position:p,scale:e,animation:i.animation};this.moveTo(f)}},{key:"focus",value:function(t){var e=void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanges,c=l.edgesChanges;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0):0>h-n?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0):h===n&&u===!0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0),a-o>0?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0):a===o&&c===!0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;nt&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom; +}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom}},{key:"configureKeyboardBindings",value:function(){void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",this.bindToRedraw.bind(this,"_moveUp"),"keydown"),this.keycharm.bind("down",this.bindToRedraw.bind(this,"_moveDown"),"keydown"),this.keycharm.bind("left",this.bindToRedraw.bind(this,"_moveLeft"),"keydown"),this.keycharm.bind("right",this.bindToRedraw.bind(this,"_moveRight"),"keydown"),this.keycharm.bind("=",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num+",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("[",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("]",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pageup",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pagedown",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("up",this.unbindFromRedraw.bind(this,"_moveUp"),"keyup"),this.keycharm.bind("down",this.unbindFromRedraw.bind(this,"_moveDown"),"keyup"),this.keycharm.bind("left",this.unbindFromRedraw.bind(this,"_moveLeft"),"keyup"),this.keycharm.bind("right",this.unbindFromRedraw.bind(this,"_moveRight"),"keyup"),this.keycharm.bind("=",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num+",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("[",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("]",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pageup",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pagedown",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup")))}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return void 0}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return void 0}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t}},{key:"_selectionIsEmpty",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptions(e);if(i===!0)return this.body.emitter.emit("refresh"),s.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptions",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof t.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==t.physics.solver&&(this.optionsBackup.physics={solver:t.physics.solver}),t.physics.solver="hierarchicalRepulsion"):t.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0){this.randomSeed=this.initialRandomSeed;for(var e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():("directed"===this.options.hierarchical.sortMethod,0||this._determineLevelsDirected()));var n=this._getDistribution();this._placeNodesByHierarchy(n)}}},{key:"_placeNodesByHierarchy",value:function(t){var e=void 0,i=void 0;this.positionedNodes={};for(var o in t)if(t.hasOwnProperty(o))for(e in t[o].nodes)t[o].nodes.hasOwnProperty(e)&&(i=t[o].nodes[e],"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===i.x&&(i.x=t[o].distance),t[o].distance=i.x+this.nodeSpacing):(void 0===i.y&&(i.y=t[o].distance),t[o].distance=i.y+this.nodeSpacing),this.positionedNodes[e]=!0,this._placeBranchNodes(i.edges,i.id,t,o))}},{key:"_getDistribution",value:function(){var t={},e=void 0,i=void 0;for(e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){i=this.body.nodes[e];var o=void 0===this.hierarchicalLevels[e]?0:this.hierarchicalLevels[e];"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(i.y=this.options.hierarchical.levelSeparation*o,i.options.fixed.y=!0):(i.x=this.options.hierarchical.levelSeparation*o,i.options.fixed.x=!0),void 0===t[o]&&(t[o]={amount:0,nodes:{},distance:0}),t[o].amount+=1,t[o].nodes[e]=i}return t}},{key:"_getHubSize",value:function(){var t=0;for(var e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){var i=this.body.nodes[e];void 0===this.hierarchicalLevels[e]&&(t=i.edges.length0&&(i=this._getHubSize(),0!==i);)for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],e.edges.length===i&&this._setLevelByHubsize(0,e))}},{key:"_setLevelByHubsize",value:function(t,e){if(void 0===this.hierarchicalLevels[e.id]){var i=void 0;this.hierarchicalLevels[e.id]=t;for(var o=0;oo&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===s.x&&(s.x=Math.max(i[a].distance,r.x)),i[a].distance=s.x+this.nodeSpacing,this.positionedNodes[s.id]=!0):(void 0===s.y&&(s.y=Math.max(i[a].distance,r.y)),i[a].distance=s.y+this.nodeSpacing),this.positionedNodes[s.id]=!0,s.edges.length>1&&this._placeBranchNodes(s.edges,s.id,i,a))}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode&&(t.body.data.edges.remove(e.edges),t.body.data.nodes.remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.remove(i),this.body.data.nodes.remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r="array",a="object",h="dom",d="function",l="undefined",u={configure:{enabled:{"boolean":n},filter:{"boolean":n,string:o,array:r,fn:d},container:{dom:h},showButton:{"boolean":n},__type__:{object:a,"boolean":n,string:o,array:r,fn:d}},edges:{arrows:{to:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},middle:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},from:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},__type__:{string:["from","to","middle"],object:a}},color:{color:{string:o},highlight:{string:o},hover:{string:o},inherit:{string:["from","to","both"],"boolean":n},opacity:{number:s},__type__:{object:a,string:o}},dashes:{"boolean":n,array:r},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},strokeWidth:{number:s},strokeColor:{string:o},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:a,string:o}},hidden:{"boolean":n},hoverWidth:{fn:d,number:s},label:{string:o,undef:l},length:{number:s,undef:l},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},selectionWidth:{fn:d,number:s},selfReferenceSize:{number:s},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},smooth:{enabled:{"boolean":n},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"]},roundness:{number:s},__type__:{object:a,"boolean":n}},title:{string:o,undef:l},width:{number:s},value:{number:s,undef:l},__type__:{object:a}},groups:{useDefaultGroups:{"boolean":n},__any__:"get from nodes, will be overwritten below",__type__:{object:a}},interaction:{dragNodes:{"boolean":n},dragView:{"boolean":n},hideEdgesOnDrag:{"boolean":n},hideNodesOnDrag:{"boolean":n},hover:{"boolean":n},keyboard:{enabled:{"boolean":n},speed:{x:{number:s},y:{number:s},zoom:{number:s},__type__:{object:a}},bindToWindow:{"boolean":n},__type__:{object:a,"boolean":n}},multiselect:{"boolean":n},navigationButtons:{"boolean":n},selectable:{"boolean":n},selectConnectedEdges:{"boolean":n},hoverConnectedEdges:{"boolean":n},tooltipDelay:{number:s},zoomView:{"boolean":n},__type__:{object:a}},layout:{randomSeed:{undef:l,number:s},hierarchical:{enabled:{"boolean":n},levelSeparation:{number:s},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:a,"boolean":n}},__type__:{object:a}},manipulation:{enabled:{"boolean":n},initiallyActive:{"boolean":n},addNode:{"boolean":n,fn:d},addEdge:{"boolean":n,fn:d},editNode:{fn:d},editEdge:{"boolean":n,fn:d},deleteNode:{"boolean":n,fn:d},deleteEdge:{"boolean":n,fn:d},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:a,"boolean":n}},nodes:{borderWidth:{number:s},borderWidthSelected:{number:s,undef:l},brokenImage:{string:o,undef:l},color:{border:{string:o},background:{string:o},highlight:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},hover:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},__type__:{object:a,string:o}},fixed:{x:{"boolean":n},y:{"boolean":n},__type__:{object:a,"boolean":n}},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},strokeWidth:{number:s},strokeColor:{string:o},__type__:{object:a,string:o}},group:{string:o,number:s,undef:l},hidden:{"boolean":n},icon:{face:{string:o},code:{string:o},size:{number:s},color:{string:o},__type__:{object:a}},id:{string:o,number:s},image:{string:o,undef:l},label:{string:o,undef:l},level:{number:s,undef:l},mass:{number:s},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},size:{number:s},title:{string:o,undef:l},value:{number:s,undef:l},x:{number:s},y:{number:s},__type__:{object:a}},physics:{barnesHut:{gravitationalConstant:{number:s},centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},damping:{number:s},avoidOverlap:{number:s},__type__:{object:a}},forceAtlas2Based:{gravitationalConstant:{number:s},centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},damping:{number:s},avoidOverlap:{number:s},__type__:{object:a}},repulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},hierarchicalRepulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},maxVelocity:{number:s},minVelocity:{number:s},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":n},iterations:{number:s},updateInterval:{number:s},onlyDynamicEdges:{"boolean":n},fit:{"boolean":n},__type__:{object:a,"boolean":n}},timestep:{number:s},__type__:{object:a,"boolean":n}},autoResize:{"boolean":n},clickToUse:{"boolean":n},locale:{string:o},locales:{__any__:{object:a},__type__:{object:a}},height:{string:o},width:{string:o},__type__:{object:a}};u.groups.__any__=u.nodes,u.manipulation.controlNodeStyle=u.nodes;var c={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01]},global:{locale:["en","nl"]}};e.allOptions=u,e.configureOptions=c},function(t,e,i){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){return I=t,f()}function n(){N=0,z=I.charAt(0)}function s(){N++,z=I.charAt(N)}function r(){return I.charAt(N+1)}function a(t){return B.test(t)}function h(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function d(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function l(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=h(n.attr,t.node))),i=s.length-1;i>=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(L=S.NULL,A="";" "===z||" "===z||"\n"===z||"\r"===z;)s();do{var t=!1;if("#"===z){for(var e=N-1;" "===I.charAt(e)||" "===I.charAt(e);)e--;if("\n"===I.charAt(e)||""===I.charAt(e)){for(;""!=z&&"\n"!=z;)s();t=!0}}if("/"===z&&"/"===r()){for(;""!=z&&"\n"!=z;)s();t=!0}if("/"===z&&"*"===r()){for(;""!=z;){if("*"===z&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===z||" "===z||"\n"===z||"\r"===z;)s()}while(t);if(""===z)return void(L=S.DELIMITER);var i=z+r();if(P[i])return L=S.DELIMITER,A=i,s(),void s();if(P[z])return L=S.DELIMITER,A=z,void s();if(a(z)||"-"===z){for(A+=z,s();a(z);)A+=z,s();return"false"===A?A=!1:"true"===A?A=!0:isNaN(Number(A))||(A=Number(A)),void(L=S.IDENTIFIER)}if('"'===z){for(s();""!=z&&('"'!=z||'"'===z&&'"'===r());)A+=z,'"'===z&&s(),s();if('"'!=z)throw x('End of string " expected');return s(),void(L=S.IDENTIFIER)}for(L=S.UNKNOWN;""!=z;)A+=z,s();throw new SyntaxError('Syntax error in part "'+k(A,30)+'"')}function f(){var t={};if(n(),p(),"strict"===A&&(t.strict=!0,p()),("graph"===A||"digraph"===A)&&(t.type=A,p()),L===S.IDENTIFIER&&(t.id=A,p()),"{"!=A)throw x("Angle bracket { expected");if(p(),m(t),"}"!=A)throw x("Angle bracket } expected");if(p(),""!==A)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==A&&"}"!=A;)v(t),";"===A&&p()}function v(t){var e=g(t);if(e)return void w(t,e);var i=y(t);if(!i){if(L!=S.IDENTIFIER)throw x("Identifier expected");var o=A;if(p(),"="===A){if(p(),L!=S.IDENTIFIER)throw x("Identifier expected");t[o]=A,p()}else b(t,o)}}function g(t){var e=null;if("subgraph"===A&&(e={},e.type="subgraph",p(),L===S.IDENTIFIER&&(e.id=A,p())),"{"===A){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=A)throw x("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 y(t){return"node"===A?(p(),t.node=_(),"node"):"edge"===A?(p(),t.edge=_(),"edge"):"graph"===A?(p(),t.graph=_(),"graph"):null}function b(t,e){var i={id:e},o=_();o&&(i.attr=o),l(t,i),w(t,e)}function w(t,e){for(;"->"===A||"--"===A;){var i,o=A;p();var n=g(t);if(n)i=n;else{if(L!=S.IDENTIFIER)throw x("Identifier or subgraph expected");i=A,l(t,{id:i}),p()}var s=_(),r=c(t,e,i,o,s);u(t,r),e=i}}function _(){for(var t=null;"["===A;){for(p(),t={};""!==A&&"]"!=A;){if(L!=S.IDENTIFIER)throw x("Attribute name expected");var e=A;if(p(),"="!=A)throw x("Equal sign = expected");if(p(),L!=S.IDENTIFIER)throw x("Attribute value expected");var i=A;d(t,e,i),p(),","==A&&p()}if("]"!=A)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(A,30)+'" (char '+N+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function O(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},I="",N=0,z="",A="",L=S.NULL,B=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=T},function(t,e,i){function o(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a -

The result of the code above will be the basic example which is shown here.

+

The result of the code above will be the basic example which is shown here.


@@ -891,7 +891,7 @@ var locales = { - Returns: String + Returns: String Returns a edgeId or undefined. The DOM positions are expected to be in pixels from the top left corner of the canvas.. @@ -1203,7 +1203,7 @@ var options = { oncontext same as click. Fired when the user click on the canvas with the right mouse button. The right mouse button does not - select by default. You can use getNodeAt to select the node if you + select by default. You can use the method getNodeAt to select the node if you want. @@ -1417,7 +1417,7 @@ var options = {
 // load the JSON file containing the Gephi network.
-var gephiJSON = loadJSON("./datasources/WorldCup2014.json"); // code in importing_from_gephi.
+var gephiJSON = loadJSON("./datasources/WorldCup2014.json"); // code in importing_from_gephi.
 
 // you can customize the result like with these options. These are explained below.
 // These are the default options.
diff --git a/docs/old/dataset.html b/docs/old/dataset.html
deleted file mode 100644
index 48007fad..00000000
--- a/docs/old/dataset.html
+++ /dev/null
@@ -1,949 +0,0 @@
-
-
-
-
-  vis.js | DataSet documentation
-
-  
-  
-
-  
-
-
-
-
- -

DataSet documentation

- -

Contents

- - - -

Overview

- -

- Vis.js comes with a flexible DataSet, which can be used to hold and - manipulate unstructured data and listen for changes in the data. - The DataSet is key/value based. Data items can be added, updated and - removed from the DatSet, and one can subscribe to changes in the DataSet. - The data in the DataSet can be filtered and ordered, and fields (like - dates) can be converted to a specific type. Data can be normalized when - appending it to the DataSet as well. -

- - -

Example

- -

- The following example shows how to use a DataSet. -

- -
-// create a DataSet
-var options = {};
-var data = new vis.DataSet(options);
-
-// add items
-// note that the data items can contain different properties and data formats
-data.add([
-  {id: 1, text: 'item 1', date: new Date(2013, 6, 20), group: 1, first: true},
-  {id: 2, text: 'item 2', date: '2013-06-23', group: 2},
-  {id: 3, text: 'item 3', date: '2013-06-25', group: 2},
-  {id: 4, text: 'item 4'}
-]);
-
-// subscribe to any change in the DataSet
-data.on('*', function (event, properties, senderId) {
-  console.log('event', event, properties);
-});
-
-// update an existing item
-data.update({id: 2, group: 1});
-
-// remove an item
-data.remove(4);
-
-// get all ids
-var ids = data.getIds();
-console.log('ids', ids);
-
-// get a specific item
-var item1 = data.get(1);
-console.log('item1', item1);
-
-// retrieve a filtered subset of the data
-var items = data.get({
-  filter: function (item) {
-    return item.group == 1;
-  }
-});
-console.log('filtered items', items);
-
-// retrieve formatted items
-var items = data.get({
-  fields: ['id', 'date'],
-  type: {
-    date: 'ISODate'
-  }
-});
-console.log('formatted items', items);
-
- - - -

Construction

- -

- A DataSet can be constructed as: -

- -
-var data = new vis.DataSet([data] [, options])
-
- -

- After construction, data can be added to the DataSet using the methods - add and update, as described in section - Data Manipulation. -

- -

- The parameter data is optional and is an Array with items. -

- -

- The parameter options is optional and is an object which can - contain the following properties: -

- - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDefault valueDescription
fieldIdString"id" - The name of the field containing the id of the items. - - When data is fetched from a server which uses some specific - field to identify items, this field name can be specified - in the DataSet using the option fieldId. - For example CouchDB uses the field - "_id" to identify documents. -
typeObject.<String, String>none - An object containing field names as key, and data types as - value. By default, the type of the properties of items are left - unchanged. Item properties can be normalized by specifying a - field type. This is useful for example to automatically convert - stringified dates coming from a server into JavaScript Date - objects. The available data types are listed in section - Data Types. -
queueObject | booleannone - Queue data changes ('add', 'update', 'remove') and flush them at once. - The queue can be flushed manually by calling - DataSet.flush(), or can be flushed after a configured delay - or maximum number of entries. -
-
- When queue is true, a queue is created - with default options. Options can be specified by providing an object: -
    -
  • delay: number
    - The queue will be flushed automatically after an inactivity of this - delay in milliseconds. Default value is null. -
  • max: number
    - When the queue exceeds the given maximum number - of entries, the queue is flushed automatically. - Default value is Infinity. -
  • -
-
- - -

Methods

- -

DataSet contains the following methods.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MethodReturn TypeDescription
add(data [, senderId])Number[]Add one or multiple items to the DataSet. data can be a single item or an array with items. Adding an item will fail when there already is an item with the same id. The function returns an array with the ids of the added items. See section Data Manipulation.
clear([senderId])Number[]Clear all data from the DataSet. The function returns an array with the ids of the removed items.
distinct(field)ArrayFind all distinct values of a specified field. Returns an unordered array containing all distinct values. If data items do not contain the specified field are ignored.
flush()noneFlush queued changes. Only available when the DataSet is configured with the option queue, see section Construction.
forEach(callback [, options])none - Execute a callback function for every item in the dataset. - The available options are described in section Data Selection. -
- get([options] [, data])
- get(id [,options] [, data])
- get(ids [, options] [, data]) -
Object | Array - Get a single item, multiple items, or all items from the DataSet. - Usage examples can be found in section Getting Data, and the available options are described in section Data Selection. -
- getDataSet() - DataSet - Get the DataSet itself. In case of a DataView, this function does not - return the DataSet to which the DataView is connected. -
- getIds([options]) - Number[] - Get ids of all items or of a filtered set of items. - Available options are described in section Data Selection, except that options fields and type are not applicable in case of getIds. -
map(callback [, options])Array - Map every item in the DataSet. - The available options are described in section Data Selection. -
max(field)Object | null - Find the item with maximum value of specified field. Returns null if no item is found. -
min(field)Object | null - Find the item with minimum value of specified field. Returns null if no item is found. -
off(event, callback)none - Unsubscribe from an event, remove an event listener. See section Subscriptions. -
on(event, callback)none - Subscribe to an event, add an event listener. See section Subscriptions. -
- remove(id [, senderId])
- remove(ids [, senderId]) -
Number[] - Remove one or multiple items by id or by the items themselves. Returns an array with the ids of the removed items. See section Data Manipulation. -
- setOptions(options) - none - Set options for the DataSet. Available options: - -
    -
  • - queue
    - Queue data changes ('add', 'update', 'remove') and flush them at once. - The queue can be flushed manually by calling - DataSet.flush(), or can be flushed after a configured delay - or maximum number of entries. -
    -
    - When queue is true, a queue is created with default options. - When queue is false, an existing queue will be flushed and removed. - Options can be specified by providing an object: -
      -
    • delay: number
      - The queue will be flushed automatically after an inactivity of this - delay in milliseconds. Default value is null. -
    • max: number
      - When the queue exceeds the given maximum number - of entries, the queue is flushed automatically. - Default value is Infinity. -
    • -
    -
  • -
-
- update(data [, senderId]) - Number[] - Update on ore multiple existing items. data can be a single item or an array with items. When an item doesn't exist, it will be created. Returns an array with the ids of the removed items. See section Data Manipulation. -
- - -

Properties

- -

DataSet contains the following properties.

- - - - - - - - - - - - - - - - - -
PropertyTypeDescription
lengthNumberThe number of items in the DataSet.
- - -

Subscriptions

- -

- One can subscribe on changes in a DataSet. - A subscription can be created using the method on, - and removed with off. -

- -
-// create a DataSet
-var data = new vis.DataSet();
-
-// subscribe to any change in the DataSet
-data.on('*', function (event, properties, senderId) {
-  console.log('event:', event, 'properties:', properties, 'senderId:', senderId);
-});
-
-// add an item
-data.add({id: 1, text: 'item 1'});              // triggers an 'add' event
-data.update({id: 1, text: 'item 1 (updated)'}); // triggers an 'update' event
-data.remove(1);                                 // triggers an 'remove' event
-
- - -

On

- -

- Subscribe to an event. -

- -Syntax: -
DataSet.on(event, callback)
- -Where: -
    -
  • - event is a String containing any of the events listed - in section Events. -
  • -
  • - callback is a callback function which will be called - each time the event occurs. The callback function is described in - section Callback. -
  • -
- -

Off

- -

- Unsubscribe from an event. -

- -Syntax: -
DataSet.off(event, callback)
- -Where event and callback correspond with the -parameters used to subscribe to the event. - -

Events

- -

- The following events are available for subscription: -

- - - - - - - - - - - - - - - - - - - - - - -
EventDescription
add - The add event is triggered when an item - or a set of items is added, or when an item is updated while - not yet existing. -
update - The update event is triggered when an existing item - or a set of existing items is updated. -
remove - The remove event is triggered when an item - or a set of items is removed. -
* - The * event is triggered when any of the events - add, update, and remove - occurs. -
- -

Callback

- -

- The callback functions of subscribers are called with the following - parameters: -

- -
-function (event, properties, senderId) {
-  // handle the event
-});
-
- -

- where the parameters are defined as -

- - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeDescription
eventString - Any of the available events: add, - update, or remove. -
propertiesObject | null - Optional properties providing more information on the event. - In case of the events add, - update, and remove, - properties is always an object containing a property - items, which contains an array with the ids of the affected - items. The update event has an extra field data - containing the original data of the updated items, i.e. the gives the - changed fields of the changed items. -
senderIdString | Number - An senderId, optionally provided by the application code - which triggered the event. If senderId is not provided, the - argument will be null. -
- - -

Data Manipulation

- -

- The data in a DataSet can be manipulated using the methods - add, - update, - and remove. - The DataSet can be emptied using the method - clear. -

- -
-// create a DataSet
-var data = new vis.DataSet();
-
-// add items
-data.add([
-  {id: 1, text: 'item 1'},
-  {id: 2, text: 'item 2'},
-  {id: 3, text: 'item 3'}
-]);
-
-// update an item
-data.update({id: 2, text: 'item 2 (updated)'});
-
-// remove an item
-data.remove(3);
-
- -

Add

- -

- Add a data item or an array with items. -

- -Syntax: -
var addedIds = DataSet.add(data [, senderId])
- -The argument data can contain: -
    -
  • - An Object containing a single item to be - added. The item must contain an id. -
  • -
  • - An Array containing a list with items to be added. Each item must contain an id. -
  • -
- -

- After the items are added to the DataSet, the DataSet will - trigger an event add. When a senderId - is provided, this id will be passed with the triggered - event to all subscribers. -

- -

- The method will throw an Error when an item with the same id - as any of the added items already exists. -

- -

Update

- -

- Update a data item or an array with items. -

- -Syntax: -
var updatedIds = DataSet.update(data [, senderId])
- -The argument data can contain: -
    -
  • - An Object containing a single item to be - updated. The item must contain an id. -
  • -
  • - An Array containing a list with items to be updated. Each item must contain an id. -
  • -
- -

- The provided properties will be merged in the existing item. - When an item does not exist, it will be created. -

- -

- After the items are updated, the DataSet will - trigger an event add for the added items, and - an event update. When a senderId - is provided, this id will be passed with the triggered - event to all subscribers. -

- -

Remove

- -

- Remove a data item or an array with items. -

- -Syntax: -
var removedIds = DataSet.remove(id [, senderId])
- -

- The argument id can be: -

-
    -
  • - A Number or String containing the id - of a single item to be removed. -
  • -
  • - An Object containing the item to be deleted. - The item will be deleted by its id. -
  • -
  • - An Array containing ids or items to be removed. -
  • -
- -

- The method ignores removal of non-existing items, and returns an array - containing the ids of the items which are actually removed from the - DataSet. -

- -

- After the items are removed, the DataSet will - trigger an event remove for the removed items. - When a senderId is provided, this id will be passed with - the triggered event to all subscribers. -

- - -

Clear

- -

- Clear the complete DataSet. -

- -Syntax: -
var removedIds = DataSet.clear([senderId])
- -

- After the items are removed, the DataSet will - trigger an event remove for all removed items. - When a senderId is provided, this id will be passed with - the triggered event to all subscribers. -

- - -

Data Selection

- -

- The DataSet contains functionality to format, filter, and sort data retrieved via the - methods get, getIds, forEach, and map. These methods have the following syntax: -

- -
-DataSet.get([id] [, options]);
-DataSet.getIds([options]);
-DataSet.forEach(callback [, options]);
-DataSet.map(callback [, options]);
-
- -

- Where options is an Object which can have the following - properties: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
fieldsString[ ] | Object.<String, String> - An array with field names, or an object with current field name and - new field name that the field is returned as. - By default, all properties of the items are emitted. - When fields is defined, only the properties - whose name is specified in fields will be included - in the returned items. -
typeObject.<String, String> - An object containing field names as key, and data types as value. - By default, the type of the properties of an item are left - unchanged. When a field type is specified, this field in the - items will be converted to the specified type. This can be used - for example to convert ISO strings containing a date to a - JavaScript Date object, or convert strings to numbers or vice - versa. The available data types are listed in section - Data Types. -
filterFunctionItems can be filtered on specific properties by providing a filter - function. A filter function is executed for each of the items in the - DataSet, and is called with the item as parameter. The function must - return a boolean. All items for which the filter function returns - true will be emitted. - See section Data Filtering.
orderString | FunctionOrder the items by a field name or custom sort function.
returnTypeStringDetermine the type of output of the get function. Allowed values are 'Array' | 'Object'. - The default returnType is an Array. The Object type will return a JSON object with the ID's as keys.
- -

- The following example demonstrates formatting properties and filtering - properties from items. -

- -
-// create a DataSet
-var data = new vis.DataSet();
-data.add([
-  {id: 1, text: 'item 1', date: '2013-06-20', group: 1, first: true},
-  {id: 2, text: 'item 2', date: '2013-06-23', group: 2},
-  {id: 3, text: 'item 3', date: '2013-06-25', group: 2},
-  {id: 4, text: 'item 4'}
-]);
-
-// retrieve formatted items
-var items = data.get({
-  fields: ['id', 'date', 'group'],    // output the specified fields only
-  type: {
-    date: 'Date',                   // convert the date fields to Date objects
-    group: 'String'                 // convert the group fields to Strings
-  }
-});
-
- -

Getting Data

- -

- Data can be retrieved from the DataSet using the method get. - This method can return a single item or a list with items. -

- -

A single item can be retrieved by its id:

- -
-var item1 = dataset.get(1);
-
- -

A selection of items can be retrieved by providing an array with ids:

- -
-var items = dataset.get([1, 3, 4]); // retrieve items 1, 3, and 4
-
- -

All items can be retrieved by simply calling get without - specifying an id:

- -
-var items = dataset.get();          // retrieve all items
-
- - -

Data Filtering

- -

- Items can be filtered on specific properties by providing a filter - function. A filter function is executed for each of the items in the - DataSet, and is called with the item as parameter. The function must - return a boolean. All items for which the filter function returns - true will be emitted. -

- -
-// retrieve all items having a property group with value 2
-var group2 = dataset.get({
-  filter: function (item) {
-    return (item.group == 2);
-  }
-});
-
-// retrieve all items having a property balance with a value above zero
-var positiveBalance = dataset.get({
-  filter: function (item) {
-    return (item.balance > 0);
-  }
-});
-
-
- - -

Data Types

- -

- DataSet supports the following data types: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionExamples
BooleanA JavaScript Boolean - true
- false -
NumberA JavaScript Number - 32
- 2.4 -
StringA JavaScript String - "hello world"
- "2013-06-28" -
DateA JavaScript Date object - new Date()
- new Date(2013, 5, 28)
- new Date(1372370400000) -
MomentA Moment object, created with - moment.js - moment()
- moment('2013-06-28') -
ISODateA string containing an ISO Date - new Date().toISOString()
- "2013-06-27T22:00:00.000Z" -
ASPDateA string containing an ASP Date - "/Date(1372370400000)/"
- "/Date(1198908717056-0700)/" -
- - -

Data Policy

-

- All code and data is processed and rendered in the browser. - No data is sent to any server. -

- -
- - diff --git a/docs/old/dataview.html b/docs/old/dataview.html deleted file mode 100644 index c6046d64..00000000 --- a/docs/old/dataview.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - vis.js | DataView documentation - - - - - - - - -
- -

DataView documentation

- -

Contents

- - - -

Overview

- -

- A DataView offers a filtered and/or formatted view on a - DataSet. - One can subscribe on changes in a DataView, and easily get filtered or - formatted data without having to specify filters and field types all - the time. -

- -

Example

- -

- The following example shows how to use a DataView. -

- -
-// create a DataSet
-var data = new vis.DataSet();
-data.add([
-  {id: 1, text: 'item 1', date: new Date(2013, 6, 20), group: 1, first: true},
-  {id: 2, text: 'item 2', date: '2013-06-23', group: 2},
-  {id: 3, text: 'item 3', date: '2013-06-25', group: 2},
-  {id: 4, text: 'item 4'}
-]);
-
-// create a DataView
-// the view will only contain items having a property group with value 1,
-// and will only output fields id, text, and date.
-var view = new vis.DataView(data, {
-  filter: function (item) {
-    return (item.group == 1);
-  },
-  fields: ['id', 'text', 'date']
-});
-
-// subscribe to any change in the DataView
-view.on('*', function (event, properties, senderId) {
-  console.log('event', event, properties);
-});
-
-// update an item in the data set
-data.update({id: 2, group: 1});
-
-// get all ids in the view
-var ids = view.getIds();
-console.log('ids', ids); // will output [1, 2]
-
-// get all items in the view
-var items = view.get();
-
- -

Construction

- - -

- A DataView can be constructed as: -

- -
-var data = new vis.DataView(dataset, options)
-
- -

- where: -

- -
    -
  • - dataset is a DataSet or DataView. -
  • -
  • - options is an object which can - contain the following properties. Note that these properties - are exactly the same as the properties available in methods - DataSet.get and DataView.get. - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    convertObject.<String, String> - An object containing field names as key, and data types as value. - By default, the type of the properties of an item are left - unchanged. When a field type is specified, this field in the - items will be converted to the specified type. This can be used - for example to convert ISO strings containing a date to a - JavaScript Date object, or convert strings to numbers or vice - versa. The available data types are listed in section - Data Types. -
    fieldsString[ ] | Object.<String, String> - An array with field names, or an object with current field name and - new field name that the field is returned as. - By default, all properties of the items are emitted. - When fields is defined, only the properties - whose name is specified in fields will be included - in the returned items. -
    filterfunctionItems can be filtered on specific properties by providing a filter - function. A filter function is executed for each of the items in the - DataSet, and is called with the item as parameter. The function must - return a boolean. All items for which the filter function returns - true will be emitted. - See also section Data Filtering.
    -
  • -
- -

Methods

- -

DataView contains the following methods.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MethodReturn TypeDescription
- get([options] [, data])
- get(id [,options] [, data])
- get(ids [, options] [, data]) -
Object | Array - Get a single item, multiple items, or all items from the DataView. - Usage examples can be found in section Getting Data, and the available options are described in section Data Selection. -
- getDataSet() - DataSet - Get the DataSet to which the DataView is connected. -
- getIds([options]) - Number[] - Get ids of all items or of a filtered set of items. - Available options are described in section Data Selection, except that options fields and type are not applicable in case of getIds. -
off(event, callback)none - Unsubscribe from an event, remove an event listener. See section Subscriptions. -
on(event, callback)none - Subscribe to an event, add an event listener. See section Subscriptions. -
refresh()none - Refresh the filter results of a DataView. Useful when the filter function contains dynamic properties, like: - -
var data = new vis.DataSet(...);
-var view = new vis.DataView(data, {
-  filter: function (item) {
-    return item.value > threshold;
-  }
-});
- In this example, threshold is an external parameter. When the value of threshold changes, the DataView must be notified that the filter results may have changed by calling DataView.refresh(). -
- setDataSet(data) - none - Replace the DataSet of the DataView. Parameter data can be a DataSet or a DataView. -
- - -

Properties

- -

DataView contains the following properties.

- - - - - - - - - - - - - - - - - -
PropertyTypeDescription
lengthNumberThe number of items in the DataView.
- -

Getting Data

- -

- Data of the DataView can be retrieved using the method get. -

- -
-var items = view.get();
-
- -

- Data of a DataView can be filtered and formatted again, in exactly the - same way as in a DataSet. See sections - Data Manipulation and - Data Selection for more - information. -

- -
-var items = view.get({
-  fields: ['id', 'score'],
-  filter: function (item) {
-    return (item.score > 50);
-  }
-});
-
- - - -

Subscriptions

-

- One can subscribe on changes in the DataView. Subscription works exactly - the same as for DataSets. See the documentation on - subscriptions in a DataSet - for more information. -

- -
-// create a DataSet and a view on the data set
-var data = new vis.DataSet();
-var view = new vis.DataView({
-  filter: function (item) {
-    return (item.group == 2);
-  }
-});
-
-// subscribe to any change in the DataView
-view.on('*', function (event, properties, senderId) {
-  console.log('event:', event, 'properties:', properties, 'senderId:', senderId);
-});
-
-// add, update, and remove data in the DataSet...
-
- - - -

Data Policy

-

- All code and data is processed and rendered in the browser. - No data is sent to any server. -

- -
- - \ No newline at end of file diff --git a/docs/old/graph3d.html b/docs/old/graph3d.html deleted file mode 100644 index 54250778..00000000 --- a/docs/old/graph3d.html +++ /dev/null @@ -1,673 +0,0 @@ - - - - vis.js | graph3d documentation - - - - - - - - -
- -

Graph3d documentation

- -

Overview

-

- Graph3d is an interactive visualization chart to draw data in a three dimensional - graph. You can freely move and zoom in the graph by dragging and scrolling in the - window. Graph3d also supports animation of a graph. -

-

- Graph3d uses HTML canvas - to render graphs, and can render up to a few thousands of data points smoothly. -

- -

Contents

- - -

Example

-

- The following code shows how to create a Graph3d and provide it with data. - More examples can be found in the examples directory. -

- -
-<!DOCTYPE HTML>
-<html>
-<head>
-  <title>Graph 3D demo</title>
-
-  <style>
-    body {font: 10pt arial;}
-  </style>
-
-  <script type="text/javascript" src="../../dist/vis.js"></script>
-
-  <script type="text/javascript">
-  var data = null;
-  var graph = null;
-
-  function custom(x, y) {
-    return (Math.sin(x/50) * Math.cos(y/50) * 50 + 50);
-  }
-
-  // Called when the Visualization API is loaded.
-  function drawVisualization() {
-    // Create and populate a data table.
-    var data = new vis.DataSet();
-    // create some nice looking data with sin/cos
-    var steps = 50;  // number of datapoints will be steps*steps
-    var axisMax = 314;
-    var axisStep = axisMax / steps;
-    for (var x = 0; x < axisMax; x+=axisStep) {
-      for (var y = 0; y < axisMax; y+=axisStep) {
-        var value = custom(x, y);
-        data.add({
-          x: x,
-          y: y,
-          z: value,
-          style: value
-        });
-      }
-    }
-
-    // specify options
-    var options = {
-      width:  '600px',
-      height: '600px',
-      style: 'surface',
-      showPerspective: true,
-      showGrid: true,
-      showShadow: false,
-      keepAspectRatio: true,
-      verticalRatio: 0.5
-    };
-
-    // create a graph3d
-    var container = document.getElementById('mygraph');
-    graph3d = new vis.Graph3d(container, data, options);
-  }
-  </script>
-</head>
-
-<body onload="drawVisualization();">
-  <div id="mygraph"></div>
-</body>
-</html>
-
-
- - -

Loading

- -

- The class name of the Graph3d is vis.Graph3d. - When constructing a Graph3d, an HTML DOM container must be provided to attach - the graph to. Optionally, data an options can be provided. - Data is a vis DataSet or an Array, described in - section Data Format. - Options is a name-value map in the JSON format. The available options - are described in section Configuration Options. -

-
var graph = new vis.Graph3d(container [, data] [, options]);
- -

- Data and options can be set or changed later on using the functions - Graph3d.setData(data) and Graph3d.setOptions(options). -

- -

Data Format

-

- Graph3d can load data from an Array, a DataSet or a DataView. - JSON objects are added to this DataSet by using the add() function. - Data points must have properties x, y, and z, - and can optionally have a property style and filter. - -

Definition

-

- The DataSet JSON objects are defined as: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
xnumberyesLocation on the x-axis.
ynumberyesLocation on the y-axis.
znumberyesLocation on the z-axis.
stylenumbernoThe data value, required for graph styles dot-color and - dot-size. -
filter*noFilter values used for the animation. - This column may have any type, such as a number, string, or Date.
- - - -

Configuration Options

- -

- Options can be used to customize the graph. Options are defined as a JSON object. - All options are optional. -

- -
-var options = {
-    width:  '100%',
-    height: '400px',
-    style: 'surface'
-};
-
- -

- The following options are available. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDefaultDescription
animationIntervalnumber1000The animation interval in milliseconds. This determines how fast - the animation runs.
animationPreloadbooleanfalseIf false, the animation frames are loaded as soon as they are requested. - if animationPreload is true, the graph will automatically load - all frames in the background, resulting in a smoother animation as soon as - all frames are loaded. The load progress is shown on screen.
animationAutoStartbooleanfalseIf true, the animation starts playing automatically after the graph - is created.
backgroundColorstring or Object'white'The background color for the main area of the chart. - Can be either a simple HTML color string, for example: 'red' or '#00cc00', - or an object with the following properties.
backgroundColor.strokestring'gray'The color of the chart border, as an HTML color string.
backgroundColor.strokeWidthnumber1The border width, in pixels.
backgroundColor.fillstring'white'The chart fill color, as an HTML color string.
cameraPositionObject{horizontal: 1.0, vertical: 0.5, distance: 1.7}Set the initial rotation and position of the camera. - The object cameraPosition contains three parameters: - horizontal, vertical, and distance. - Parameter horizontal is a value in radians and can have any - value (but normally in the range of 0 and 2*Pi). - Parameter vertical is a value in radians between 0 and 0.5*Pi. - Parameter distance is the (normalized) distance from the - camera to the center of the graph, in the range of 0.71 to 5.0. A - larger distance puts the graph further away, making it smaller. - All parameters are optional. -
heightstring'400px'The height of the graph in pixels or as a percentage.
keepAspectRatiobooleantrueIf keepAspectRatio is true, the x-axis and the y-axis - keep their aspect ratio. If false, the axes are scaled such that they - both have the same, maximum with.
showAnimationControlsbooleantrueIf true, animation controls are created at the bottom of the Graph. - The animation controls consists of buttons previous, start/stop, next, - and a slider showing the current frame. - Only applicable when the provided data contains an animation.
showGridbooleantrueIf true, grid lines are draw in the x-y surface (the bottom of the 3d - graph).
showPerspectivebooleantrueIf true, the graph is drawn in perspective: points and lines which - are further away are drawn smaller. - Note that the graph currently does not support a gray colored bottom side - when drawn in perspective. -
showShadowbooleanfalseShow shadow on the graph.
stylestring'dot'The style of the 3d graph. Available styles: - bar, - bar-color, - bar-size, - dot, - dot-line, - dot-color, - dot-size, - line, - grid, - or surface
tooltipboolean | functionfalseShow a tooltip showing the values of the hovered data point. - The contents of the tooltip can be customized by providing a callback - function as tooltip. In this case the function is called - with an object containing parameters x, - y, and z argument, - and must return a string which may contain HTML. -
valueMaxnumbernoneThe maximum value for the value-axis. Only available in combination - with the styles dot-color and dot-size.
valueMinnumbernoneThe minimum value for the value-axis. Only available in combination - with the styles dot-color and dot-size.
verticalRationumber0.5A value between 0.1 and 1.0. This scales the vertical size of the graph - When keepAspectRatio is set to false, and verticalRatio is set to 1.0, - the graph will be a cube.
widthstring'400px'The width of the graph in pixels or as a percentage.
xBarWidthnumbernoneThe width of bars in x direction. By default, the width is equal to the distance - between the data points, such that bars adjoin each other. - Only applicable for styles 'bar' and 'bar-color'.
xCenterstring'55%'The horizontal center position of the graph, as a percentage or in - pixels.
xMaxnumbernoneThe maximum value for the x-axis.
xMinnumbernoneThe minimum value for the x-axis.
xStepnumbernoneStep size for the grid on the x-axis.
xValueLabelfunctionnoneA function for custom formatting of the labels along the x-axis, - for example function (x) {return (x * 100) + '%'}. -
yBarWidthnumbernoneThe width of bars in y direction. By default, the width is equal to the distance - between the data points, such that bars adjoin each other. - Only applicable for styles 'bar' and 'bar-color'.
yCenterstring'45%'The vertical center position of the graph, as a percentage or in - pixels.
yMaxnumbernoneThe maximum value for the y-axis.
yMinnumbernoneThe minimum value for the y-axis.
yStepnumbernoneStep size for the grid on the y-axis.
yValueLabelfunctionnoneA function for custom formatting of the labels along the y-axis, - for example function (y) {return (y * 100) + '%'}. -
zMinnumbernoneThe minimum value for the z-axis.
zMaxnumbernoneThe maximum value for the z-axis.
zStepnumbernoneStep size for the grid on the z-axis.
zValueLabelfunctionnoneA function for custom formatting of the labels along the z-axis, - for example function (z) {return (z * 100) + '%'}. -
xLabelStringxLabel on the X axis.
yLabelStringyLabel on the Y axis.
zLabelStringzLabel on the Z axis.
filterLabelStringtimeLabel for the filter column.
legendLabelStringvalueLabel for the style description.
- - -

Methods

-

- Graph3d supports the following methods. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MethodReturn TypeDescription
animationStart()noneStart playing the animation. - Only applicable when animation data is available.
animationStop()noneStop playing the animation. - Only applicable when animation data is available.
getCameraPosition()An object with parameters horizontal, - vertical and distanceReturns an object with parameters horizontal, - vertical and distance, - which each one of them is a number, representing the rotation and position - of the camera.
redraw()noneRedraw the graph. Useful after the camera position is changed externally, - when data is changed, or when the layout of the webpage changed.
setData(data)noneReplace the data in the Graph3d.
setOptions(options)noneUpdate options of Graph3d. - The provided options will be merged with current options.
setSize(width, height)noneParameters width and height are strings, - containing a new size for the graph. Size can be provided in pixels - or in percentages.
setCameraPosition (pos){horizontal: 1.0, vertical: 0.5, distance: 1.7}Set the rotation and position of the camera. Parameter pos - is an object which contains three parameters: horizontal, - vertical, and distance. - Parameter horizontal is a value in radians and can have any - value (but normally in the range of 0 and 2*Pi). - Parameter vertical is a value in radians between 0 and 0.5*Pi. - Parameter distance is the (normalized) distance from the - camera to the center of the graph, in the range of 0.71 to 5.0. A - larger distance puts the graph further away, making it smaller. - All parameters are optional. -
- -

Events

-

- Graph3d fires events after the camera position has been changed. - The event can be catched by creating a listener. - Here an example on how to catch a cameraPositionChange event. -

- -
-function onCameraPositionChange(event) {
-  alert('The camera position changed to:\n' +
-        'Horizontal: ' + event.horizontal + '\n' +
-        'Vertical: ' + event.vertical + '\n' +
-        'Distance: ' + event.distance);
-}
-// assuming var graph3d = new vis.Graph3d(document.getElementById('mygraph'));
-graph3d.on('cameraPositionChange', onCameraPositionChange);
-
- -

- The following events are available. -

- - - - - - - - - - - - - - - - - -
nameDescriptionProperties
cameraPositionChangeThe camera position changed. Fired after the user modified the camera position - by moving (dragging) the graph, or by zooming (scrolling), - but not after a call to setCameraPosition method. - The new camera position can be retrieved by calling the method - getCameraPosition. -
    -
  • horizontal: Number. The horizontal angle of the camera.
  • -
  • vertical: Number. The vertical angle of the camera.
  • -
  • distance: Number. The distance of the camera to the center of the graph.
  • -
-
- -

Data Policy

-

- All code and data are processed and rendered in the browser. No data is sent to any server. -

- -
- - diff --git a/docs/old/index.html b/docs/old/index.html deleted file mode 100644 index 349712f5..00000000 --- a/docs/old/index.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - vis.js | documentation - - - - - - - - -
- -

vis.js documentation

- -

- Vis.js is a dynamic, browser based visualization library. - The library is designed to be easy to use, handle large amounts - of dynamic data, and enable manipulation of the data. -

- -

- The library is developed by - Almende B.V.. - Vis.js runs fine on Chrome, Firefox, Opera, Safari, IE9+, and most mobile - browsers (with full touch support). -

- -

Components

- -

- Vis.js contains of the following components: -

- - - -
    -
  • - DataSet. - A flexible key/value based data set. - Add, update, and remove items. Subscribe on changes in the data set. - A DataSet can filter and order items, and convert fields of items. -
  • -
  • - DataView. - A filtered and/or formatted view on a DataSet. -
  • -
  • - Network. - Display a network (force directed graph) with nodes and edges (previously called Graph). -
  • -
  • - Graph2d. - Plot data on a timeline with lines or barcharts. -
  • -
  • - Graph3d. - Display data in a three dimensional graph. -
  • -
  • - Timeline. - Display different types of data on a timeline. -
  • -
- -

Install

- -

npm

- -
-npm install vis
-
- -

bower

- -
-bower install vis
-
- -

download

- Download the library from the website: - http://visjs.org. - -

Load

- -

- To load vis.js, include the javascript and css files of vis in your web page: -

- -
<!DOCTYPE HTML>
-<html>
-<head>
-  <script src="components/vis/vis.js"></script>
-  <link href="components/vis/vis.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<script type="text/javascript">
-  // ... load a visualization
-</script>
-</body>
-</html>
-
- -

- or load vis.js using require.js: -

- -
-require.config({
-  paths: {
-    vis: 'path/to/vis',
-  }
-});
-
-require(['vis'], function (math) {
-  // ... load a visualization
-});
-
- -

- A timeline can be instantiated as follows. Other components can be - created in a similar way. -

- -
-var timeline = new vis.Timeline(container, data, options);
-
- -

- 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. -

- -

Use

- -

- A basic example on using a Timeline is shown below. More examples can be - found in the examples directory of the project. -

- -
-<!DOCTYPE HTML>
-<html>
-<head>
-  <title>Timeline basic demo</title>
-
-  <script src="components/vis/vis.js"></script>
-  <link href="components/vis/vis.css" rel="stylesheet" type="text/css" />
-
-  <style type="text/css">
-    body, html {
-      font-family: sans-serif;
-    }
-  </style>
-</head>
-<body>
-<div id="visualization"></div>
-
-<script type="text/javascript">
-  // DOM element where the Timeline will be attached
-  var container = document.getElementById('visualization');
-
-  // Create a DataSet (allows two way data-binding)
-  var data = new vis.DataSet([
-    {id: 1, content: 'item 1', start: '2013-04-20'},
-    {id: 2, content: 'item 2', start: '2013-04-14'},
-    {id: 3, content: 'item 3', start: '2013-04-18'},
-    {id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19'},
-    {id: 5, content: 'item 5', start: '2013-04-25'},
-    {id: 6, content: 'item 6', start: '2013-04-27'}
-  ]);
-
-    // Configuration for the Timeline
-  var options = {};
-
-  // Create a Timeline
-  var timeline = new vis.Timeline(container, data, options);
-</script>
-</body>
-</html>
-
- - -

License

- -

- Copyright 2010-2014 Almende B.V. -

- -

- Vis.js is dual licensed under both -

- -

- and -

- - -

- Vis.js may be distributed under either license. -

- - -
- - \ No newline at end of file diff --git a/docs/old/lib/prettify/lang-apollo.js b/docs/old/lib/prettify/lang-apollo.js deleted file mode 100644 index bfc0014c..00000000 --- a/docs/old/lib/prettify/lang-apollo.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\r\n]*/,null,"#"],["pln",/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],["str",/^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/, -null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[SE]?BANK\=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],["pln",/^-*(?:[!-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],["pun",/^[^\w\t\n\r \xA0()\"\\\';]+/]]),["apollo","agc","aea"]) \ No newline at end of file diff --git a/docs/old/lib/prettify/lang-css.js b/docs/old/lib/prettify/lang-css.js deleted file mode 100644 index 61157f38..00000000 --- a/docs/old/lib/prettify/lang-css.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[ \t\r\n\f]+/,null," \t\r\n\u000c"]],[["str",/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],["str",/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],["kwd",/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], -["com",/^(?: - - - - - - - - - - - - - - - - - - - - - - -
-

Network - canvas

- -

Handles the HTML part of the canvas.

- -

Options

- -

The options for the canvas have to be contained in an object titled 'canvas'.

-

Click on the options shown to show how these options are supposed to be used.

- -
- -

All of the individual options are explained here:

- - - - - - - - - - - - - - - - - - - - - - - - - -
nametypedefaultdescription
widthString'100%'the width of the canvas. Can be in percentages or pixels (ie. '400px').
heightString'100%'the height of the canvas. Can be in percentages or pixels (ie. '400px').
autoResizeBooleantrueIf true, the Network will automatically detect when its container is resized, and redraw itself - accordingly. If false, the Network can be forced to repaint after its container has been resized - using the function redraw() and setSize().
- -

Methods

- -

This is a list of all the methods in the public API. Options can be set directly to the module or you can use the - setOptions method of the network itself and use the module name as an object name.

- - - - - - - - - - - - - - - - - - - - - -
namereturnsdescription
setSize(
   String width,
   String - height
) -
noneSet the size of the canvas. This is automatically done on a window resize.
canvasToDOM({
   x: Number,
   y: - Number
}) -
ObjectThis function converts canvas coordinates to coordinates on the DOM. Input and output are in the form of - {x:Number,y:Number}. The DOM values are relative to the network container. -
DOMtoCanvas({
   x: Number,
   y: - Number
}) -
ObjectThis function converts DOM coordinates to coordinates on the canvas. Input and output are in the form of - {x:Number,y:Number}. The DOM values are relative to the network container. -
- -

Events

- -

This is a list of all the events in the public API. They are collected here from all individual modules.

- - - - - - - - - - - - -
namepropertiesdescription
resize -
-{
-  width: Number     // the new width  of the canvas
-  height: Number    // the new height of the canvas
-  oldWidth: Number  // the old width  of the canvas
-  oldHeight: Number // the old height of the canvas
-}
-
-
    -
-
Fired when the size of the canvas has been resized, either by a redraw call when the container div has - changed in size, a setSize() call with new values or a setOptions() with new width and/or height values. -
- -
-
-
-
-
-
-
-
- - - - - - - \ No newline at end of file diff --git a/docs/old/old_network/clustering.html b/docs/old/old_network/clustering.html deleted file mode 100644 index cb355f7f..00000000 --- a/docs/old/old_network/clustering.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - - - vis.js - A dynamic, browser based visualization library. - - - - - - - - - - - - - - - - - - - - - - - -
-

Network - clustering

-

Handles the HTML part of the canvas.

- -

Options

-

Clustering has no options, everything is done with methods.

- - -

Methods

-

This is a list of all the methods in the public API. Options can be set directly to the module or you can use the setOptions method of the network itself and use the module name as an object name.

- - - - - - - - - - -
namereturnsdescription
findNode(
-   String nodeId
)
Array Nodes can be in clusters. Clusters can also be in clusters. This function returns and array of nodeIds showing where the node is. Example:
- cluster 'A' contains cluster 'B',
- cluster 'B' contains cluster 'C',
- cluster 'C' contains node 'fred'.
- network.clustering.findNode('fred') will return ['A','B','C','fred']. -
isCluster(
-   String nodeId
)
Boolean Returns true if the node whose ID has been supplied is a cluster.
openCluster(
   - String nodeId
)
none Opens the cluster, releases the contained nodes and edges, removing the cluster node and cluster edges.
cluster(
   - Object options
)
none The options object is explained in full below. The joinCondition function is presented with all nodes.
clusterByConnection(
-   String nodeId,
-   [Object options]
- )
none This method looks at the provided node and makes a cluster of it and all it's connected nodes. The behaviour can be customized by proving the options object. All options of this object are explained below. The joinCondition is only presented with the connected nodes.
clusterByHubsize(
-   Number hubsize,
-   [Object options]
)
none This method checks all nodes in the network and those with a equal or higher amount of edges than specified with the hubsize qualify. Cluster by connection is performed on each of them. The options object is described for clusterByConnection and does the same here.
clusterOutliers(
-   [Object options]
)
none This method will cluster all nodes with 1 edge with their respective connected node.
-
-

Cluster options object

-

The options object supplied to the cluster functions can contain these properties:

- - - - - - - -
nameTypedescription
joinCondition(
  Object nodeOptions
)
FunctionOptional for all but the cluster method. The cluster module loops over all nodes that are selected to be in the cluster and calls this function with their data as argument. - If this function returns true, this node will be added to the cluster. You have access to all options (including the default) - as well as any custom fields you may have added to the node to determine whether or not to include it in the cluster. Example: -
-var nodes = [
-  {id: 4, label: 'Node 4'},
-  {id: 5, label: 'Node 5'},
-  {id: 6, label: 'Node 6', cid:1},
-  {id: 7, label: 'Node 7', cid:1}
-]
-
-var options = {
-  joinCondition:function(nodeOptions) {
-    return nodeOptions.cid === 1;
-  }
-}
-
-network.clustering.cluster(options);
-
processProperties(
  Object nodeOptions
)
Function Optional. Before creating the new cluster node, this (optional) function will be called with the properties supplied by you (clusterNodeProperties), all contained nodes and all contained edges. You can use this to update the - properties of the cluster based on which items it contains. The function should return the properties to create the cluster node. In the example below, we ensure preservation of mass and value when forming the cluster: -
-var options = {
-  processProperties: function (clusterOptions, childNodes, childEdges) {
-    var totalMass = 0;
-    var totalValue = 0;
-    for (var i = 0; i < childNodes.length; i++) {
-        totalMass += childNodes[i].mass;
-        totalValue = childNodes[i].value ? totalValue + childNodes[i].value : totalValue;
-    }
-    clusterOptions.mass = totalMass;
-    if (totalValue > 0) {
-      clusterOptions.value = totalValue;
-    }
-    return clusterOptions;
-  },
-}
-
clusterNodeProperties Object Optional. This is an object containing the options for the cluster node. All options described in the nodes module are allowed. This allows you to style your cluster node any way you want. This is also the style object that is provided in the processProperties function for fine tuning. If undefined, default node options will be used.
clusterEdgeProperties Object Optional. This is an object containing the options for the edges connected to the cluster. All options described in the edges module are allowed. Using this, you can style the edges connecting to the cluster any way you want. If none are provided, the optoins from the edges that are replaced are used. If undefined, default edge options will be used.
-

- -

- -

-

Events

-

The clustering module does not have any events.

- -
-
-
-
-
-
-
-
- - - - - - - \ No newline at end of file diff --git a/docs/old/old_network/rendering.html b/docs/old/old_network/rendering.html deleted file mode 100644 index 15b285ca..00000000 --- a/docs/old/old_network/rendering.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - vis.js - A dynamic, browser based visualization library. - - - - - - - - - - - - - - - - - - - - - - - - -
-

Network - rendering

-

Handles the rendering aspect of vis. It governs the render loop, it draws the nodes and edges and provides events to allow users to hook into the drawing.

- -

Options

-

The options for the rendering have to be contained in an object titled 'rendering'.

-

Click on the options shown to show how these options are supposed to be used.

- -
- -

All of the individual options are explained here:

- - - - -
nametypedefaultdescription
hideEdgesOnDragBooleanfalseWhen true, the edges are not drawn when dragging the view. This can greatly speed up responsiveness on dragging, improving user experience.
hideNodesOnDragBooleanfalseWhen true, the nodes are not drawn when dragging the view. This can greatly speed up responsiveness on dragging, improving user experience.
- -

Methods

-

This is a list of all the methods in the public API. Options can be set directly to the module or you can use the setOptions method of the network itself and use the module name as an object name.

- - - -
namereturnsdescription
redraw()noneRedraw the network.
- -

Events

-

These events are fired by the renderer and can be used to move and draw custom elements on the same canvas as the rest of the network.

- - - - - -
namepropertiesdescription
initRedrawnoneFired before the redrawing begins. The simulation step has completed at this point. Can be used to move custom elements before starting drawing the new frame.
beforeDrawingcanvas contextFired after the canvas has been cleared, scaled and translated to the viewing position but before all edges and nodes are drawn. Can be used to draw behind the network.
initRedrawcanvas contextFired after drawing on the canvas has been completed. Can be used to draw on top of the network.
- -
-
-
-
-
-
-
-
- - - - - - - \ No newline at end of file diff --git a/docs/old/old_network/selection.html b/docs/old/old_network/selection.html deleted file mode 100644 index d1c45de6..00000000 --- a/docs/old/old_network/selection.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - vis.js - A dynamic, browser based visualization library. - - - - - - - - - - - - - - - - - - - - - - - - -
-

Network - selection

-

Handles the selection of nodes and edges.

- -

Options

-

The options for the selection have to be contained in an object titled 'selection'.

-

Click on the options shown to show how these options are supposed to be used.

- -
- -

All of the individual options are explained here:

- - - - -
nametypedefaultdescription
selectable BooleantrueWhen true, the nodes and edges can be selected by the user.
selectConnectedEdges BooleantrueWhen true, on selecting a node, its connecting edges are highlighted.
- -

Methods

-

This is a list of all the methods in the public API. Options can be set directly to the module or you can use the setOptions method of the network itself and use the module name as an object name.

- - - - - - - - - - - -
namereturnsdescription
getSelection() -
-{
-  nodes: [Array of selected nodeIds],
-  edges: [Array of selected edgeIds]
-}
Returns an object with selected nodes and edges ids.
getSelectedNodes() [nodeId1, nodeId2, ..]Returns an array of selected node ids.
getSelectedEdges() [edgeId1, edgeId2, ..]Returns an array of selected edge ids.
getNodeAt(
   {x: xPosition DOM,
   y: yPosition DOM}

)
nodeIdReturns a nodeId or undefined. The DOM positions are expected to be in pixels from the top left corner of the canvas.
getEdgeAt(
   {x: xPosition DOM,
   y: yPosition DOM}

)
edgeIdReturns a edgeId or undefined. The DOM positions are expected to be in pixels from the top left corner of the canvas..
selectNodes(
   Array with nodeIds,
   [Boolean highlightEdges]
)
noneSelects the nodes corresponding to the id's in the input array. If highlightEdges is true or undefined, the neighbouring edges will also be selected. This method unselects all other objects before selecting its own objects. Does not fire events.
selectEdges(
   Array with edgeIds
)
noneSelects the edges corresponding to the id's in the input array. This method unselects all other objects before selecting its own objects. Does not fire events.
unselectAll() none Unselect all objects. Does not fire events.
- -

Events

-

The selection handler does not fire events. All related events are fired by the interaction module because they are triggered by user interaction.

- -
-
-
-
-
-
-
-
- - - - - - - \ No newline at end of file diff --git a/docs/old/old_network/view.html b/docs/old/old_network/view.html deleted file mode 100644 index d038923f..00000000 --- a/docs/old/old_network/view.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - vis.js - A dynamic, browser based visualization library. - - - - - - - - - - - - - - - - - - - - - - - - -
-

Network - view

-

Acts as the camera that looks on the canvas. Does the animation, zooming and focusing.

- -

Options

-

The view has no options.

- -

Methods

-

This is a list of all the methods in the public API. Options can be set directly to the module or you can use the setOptions method of the network itself and use the module name as an object name.

- - - - - - - - - - - - - - -
namereturnsdescription
getScale() NumberReturns the current scale of the network. 1.0 is comparible to 100%, 0 is zoomed out infinitely.
getPosition() NumberReturns the current central focus point of the camera.
fit([Object options])noneZooms out so all nodes fit on the canvas. You can supply options to customize this: -
-{
-  nodes:[Array of nodeIds],
-  animation: { // -------------------> can be a boolean too!
-    duration: Number
-    easingFunction: String
-  }
-}
-
- The nodes can be used to zoom to fit only specific nodes in the view.

- The other options are explained in the moveTo() description below. - All options are optional for the fit method. -
focus(
-    String nodeId,
-    [Object options]
)
noneYou can focus on a node with this function. What that means is the view will lock onto that node, if it is moving, the view will also move accordingly. If the view is dragged by the user, the focus is broken. - You can supply options to customize the effect: -
-{
-  scale: Number,
-  offset: {x:Number, y:Number}
-  locked: boolean
-  animation: { // -------------------> can be a boolean too!
-    duration: Number
-    easingFunction: String
-  }
-}
-
- All options except for locked are explained in the moveTo() description below. Locked denotes whether or not the view remains locked to the node once the zoom-in animation is finished. Default value is true. The options object is optional in the focus method.
moveTo(Object options) noneYou can animate or move the camera using the moveTo method. Options are: -
-{
-  position: {x:Number, y:Number},
-  scale: Number,
-  offset: {x:Number, y:Number}
-  animation: { // -------------------> can be a boolean too!
-    duration: Number
-    easingFunction: String
-  }
-}
-
- The position (in canvas units!) is the position of the central focus point of the camera.

- The scale is the target zoomlevel. Default value is 1.0.

- The offset (in DOM units) is how many pixels from the center the view is focussed. Default value is {x:0,y:0}.

- For animation you can either use a Boolean to use it with the default options or disable it or you can define the duration (in milliseconds) and easing function manually. Available are: - linear, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint.

- You will have to define at least a scale or a position. Otherwise, there is nothing to move to. -
releaseNode()noneProgramatically release the focussed node.
- -

Events

-

These events are fired by the renderer and can be used to move and draw custom elements on the same canvas as the rest of the network.

- - - -
namepropertiesdescription
animationFinishednoneFired when an animation is finished.
- -
-
-
-
-
-
-
-
- - - - - - - - diff --git a/docs/old/old_timeline.html b/docs/old/old_timeline.html deleted file mode 100644 index a7013b53..00000000 --- a/docs/old/old_timeline.html +++ /dev/null @@ -1,1510 +0,0 @@ - - - - vis.js | timeline documentation - - - - - - - - -
- -

Timeline documentation

- -

Overview

-

- The Timeline is an interactive visualization chart to visualize data in time. - The data items can take place on a single date, or have a start and end date (a range). - You can freely move and zoom in the timeline by dragging and scrolling in the - Timeline. Items can be created, edited, and deleted in the timeline. - The time scale on the axis is adjusted automatically, and supports scales ranging - from milliseconds to years. -

-

- Timeline uses regular HTML DOM to render the timeline and items put on the - timeline. This allows for flexible customization using css styling. -

- -

Contents

- - -

Example

-

- The following code shows how to create a Timeline and provide it with data. - More examples can be found in the examples directory. -

- -
<!DOCTYPE HTML>
-<html>
-<head>
-  <title>Timeline | Basic demo</title>
-
-  <style type="text/css">
-    body, html {
-      font-family: sans-serif;
-    }
-  </style>
-
-  <script src="../../dist/vis.js"></script>
-  <link href="../../dist/vis.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="visualization"></div>
-
-<script type="text/javascript">
-  // DOM element where the Timeline will be attached
-  var container = document.getElementById('visualization');
-
-  // Create a DataSet (allows two way data-binding)
-  var items = new vis.DataSet([
-    {id: 1, content: 'item 1', start: '2013-04-20'},
-    {id: 2, content: 'item 2', start: '2013-04-14'},
-    {id: 3, content: 'item 3', start: '2013-04-18'},
-    {id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19'},
-    {id: 5, content: 'item 5', start: '2013-04-25'},
-    {id: 6, content: 'item 6', start: '2013-04-27'}
-  ]);
-
-  // Configuration for the Timeline
-  var options = {};
-
-  // Create a Timeline
-  var timeline = new vis.Timeline(container, items, options);
-</script>
-</body>
-</html>
-
- - -

Loading

-

- Install or download the vis.js library. - in a subfolder of your project. Include the libraries script and css files in the - head of your html code: -

- -
-<script src="vis/dist/vis.js"></script>
-<link href="vis/dist/vis.css" rel="stylesheet" type="text/css" />
-
- -The constructor of the Timeline is vis.Timeline -
var timeline = new vis.Timeline(container, items, options);
-or when using groups: -
var timeline = new vis.Timeline(container, items, groups, options);
- -The constructor accepts four parameters: -
    -
  • - container is the DOM element in which to create the timeline. -
  • -
  • - items is an Array containing items. The properties of an - item are described in section Data Format, items. -
  • - groups is an Array containing groups. The properties of a - group are described in section Data Format, groups. -
  • -
  • - options is an optional Object containing a name-value map - with options. Options can also be set using the method - setOptions. -
  • -
- -

Data Format

- -

- The timeline can be provided with two types of data: -

-
    -
  • Items containing a set of items to be displayed in time.
  • -
  • Groups containing a set of groups used to group items - together.
  • -
- -

Items

-

- The Timeline uses regular Arrays and Objects as data format. - Data items can contain the properties start, - end (optional), content, - group (optional), className (optional), - and style (optional). -

- -

- A table is constructed as: -

- -
-var items = [
-  {
-    start: new Date(2010, 7, 15),
-    end: new Date(2010, 8, 2),  // end is optional
-    content: 'Trajectory A'
-    // Optional: fields 'id', 'type', 'group', 'className', 'style'
-  }
-  // more items...
-]);
-
- -

- The item properties are defined as: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
classNameStringnoThis field is optional. A className can be used to give items - an individual css style. For example, when an item has className - 'red', one can define a css style like: -
-.vis.timeline .red {
-  color: white;
-  background-color: red;
-  border-color: darkred;
-}
- More details on how to style items can be found in the section - Styles. -
contentStringyesThe contents of the item. This can be plain text or html code.
endDate | number | string | MomentnoThe end date of the item. The end date is optional, and can be left null. - If end date is provided, the item is displayed as a range. - If not, the item is displayed as a box.
groupany typenoThis field is optional. When the group column is provided, - all items with the same group are placed on one line. - A vertical axis is displayed showing the groups. - Grouping items can be useful for example when showing availability of multiple - people, rooms, or other resources next to each other.
-
idString | NumbernoAn id for the item. Using an id is not required but highly - recommended. An id is needed when dynamically adding, updating, - and removing items in a DataSet.
startDate | number | string | MomentyesThe start date of the item, for example new Date(2010,9,23).
styleStringno - A css text string to apply custom styling for an individual item, for - example "color: red; background-color: pink;". -
subgroupString | NumbernoneThe id of a subgroup. - Groups all items within a group per subgroup, and positions them on the - same height instead of staking them on top of each other. can be ordered - by specifying the option subgroupOrder of a group. -
titleStringnoneAdd a title for the item, displayed when holding the mouse on the item. - The title can only contain plain text. -
typeString'box'The type of the item. Can be 'box' (default), 'point', 'range', or 'background'. - Types 'box' and 'point' need a start date, the types 'range' and 'background' needs both a start and end date. -
- -

Groups

-

- Like the items, groups are regular JavaScript Arrays and Objects. - Using groups, items can be grouped together. - Items are filtered per group, and displayed as - - Group items can contain the properties id, - content, and className (optional). -

-

- Groups can be applied to a timeline using the method setGroups or supplied in the constructor. - A table with groups can be created like: -

- -
-var groups = [
-  {
-    id: 1,
-    content: 'Group 1'
-    // Optional: a field 'className', 'style'
-  }
-  // more groups...
-]);
-
- - -

- Groups can have the following properties: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
classNameStringnoThis field is optional. A className can be used to give groups - an individual css style. For example, when a group has className - 'red', one can define a css style - - .red { - color: red; - } - . - More details on how to style groups can be found in the section - Styles. -
contentStringyesThe contents of the group. This can be plain text or html code.
idString | NumberyesAn id for the group. The group will display all items having a - property group which matches the id - of the group.
styleStringno - A css text string to apply custom styling for an individual group label, for - example "color: red; background-color: pink;". -
subgroupOrderString | FunctionnoneOrder the subgroups by a field name or custom sort function. - By default, groups are ordered by first-come, first-show. -
titleStringnoneA title for the group, displayed when holding the mouse on the groups label. - The title can only contain plain text. -
- - - -

Configuration Options

- -

- Options can be used to customize the timeline. - Options are defined as a JSON object. All options are optional. -

- -
-var options = {
-  width: '100%',
-  height: '30px',
-  margin: {
-    item: 20
-  }
-};
-
- -

- The following options are available. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDefaultDescription
alignString"center"Alignment of items with type 'box', 'range', and 'background'. Available values are 'auto' (default), 'center', 'left', or 'right'. For 'box' items, the 'auto' alignment is 'center'. For 'range' items, the auto alignment is dynamic: positioned left and shifted such that the contents is always visible on screen.
autoResizebooleantrueIf true, the Timeline will automatically detect when its container is resized, and redraw itself accordingly. If false, the Timeline can be forced to repaint after its container has been resized using the function redraw().
clickToUsebooleanfalseWhen a Timeline is configured to be clickToUse, it will react to mouse and touch events only when active. - When active, a blue shadow border is displayed around the Timeline. The Timeline is set active by clicking on it, and is changed to inactive again by clicking outside the Timeline or by pressing the ESC key.
dataAttributesArray[String] | 'all'falseAn array of fields optionally defined on the timeline items that will be appended as data- attributes to the DOM element of the items.
- If value is 'all' then each field defined on the timeline item will become a data- attribute.
editableBoolean | ObjectfalseIf true, the items in the timeline can be manipulated. Only applicable when option selectable is true. See also the callbacks onAdd, onUpdate, onMove, and onRemove. When editable is an object, one can enable or disable individual manipulation actions. - See section Editing Items for a detailed explanation. -
editable.addBooleanfalseIf true, new items can be created by double tapping an empty space in the Timeline. See section Editing Items for a detailed explanation.
editable.removeBooleanfalseIf true, items can be deleted by first selecting them, and then clicking the delete button on the top right of the item. See section Editing Items for a detailed explanation.
editable.updateGroupBooleanfalseIf true, items can be dragged from one group to another. Only applicable when the Timeline has groups. See section Editing Items for a detailed explanation.
editable.updateTimeBooleanfalseIf true, items can be dragged to another moment in time. See section Editing Items for a detailed explanation.
endDate | Number | String | MomentnoneThe initial end date for the axis of the timeline. - If not provided, the latest date present in the items set is taken as - end date.
formatObjectnone - Apply custom date formatting of the labels on the time axis. The default value of format is: -
{
-  minorLabels: {
-    millisecond:'SSS',
-    second:     's',
-    minute:     'HH:mm',
-    hour:       'HH:mm',
-    weekday:    'ddd D',
-    day:        'D',
-    month:      'MMM',
-    year:       'YYYY'
-  },
-  majorLabels: {
-    millisecond:'HH:mm:ss',
-    second:     'D MMMM HH:mm',
-    minute:     'ddd D MMMM',
-    hour:       'ddd D MMMM',
-    weekday:    'MMMM YYYY',
-    day:        'MMMM YYYY',
-    month:      'YYYY',
-    year:       ''
-  }
-}
- For values which not provided in the customized options.format, the default values will be used. - All available formatting syntax is described in the docs of moment.js. -
groupOrderString | FunctionnoneOrder the groups by a field name or custom sort function. - By default, groups are not ordered. -
heightNumber | StringnoneThe height of the timeline in pixels or as a percentage. - When height is undefined or null, the height of the timeline is automatically - adjusted to fit the contents. - It is possible to set a maximum height using option maxHeight - to prevent the timeline from getting too high in case of automatically - calculated height. -
hiddenDatesObjectnoneThis option allows you to hide specific timespans from the time axis. The dates can be supplied as an object: - {start: '2014-03-21 00:00:00', end: '2014-03-28 00:00:00', [repeat:'daily']} or as an Array of these objects. The repeat argument is optional. - The possible values are (case-sensitive): daily, weekly, monthly, yearly. To hide a weekend, pick any Saturday as start and the following Monday as end - and set repeat to weekly. -
localeStringnoneSelect a locale for the Timeline. See section Localization for more information.
localesObjectnoneA map with i18n locales. See section Localization for more information.
marginNumber | ObjectObjectWhen a number, applies the margin to margin.axis, margin.item.horizontal, and margin.item.vertical.
margin.axisNumber20The minimal margin in pixels between items and the time axis.
margin.itemNumber10The minimal margin in pixels between items in both horizontal and vertical direction.
margin.item.horizontalNumber10The minimal horizontal margin in pixels between items.
margin.item.verticalNumber10The minimal vertical margin in pixels between items.
maxDate | Number | String | MomentnoneSet a maximum Date for the visible range. - It will not be possible to move beyond this maximum. -
maxHeightNumber | StringnoneSpecifies the maximum height for the Timeline. Can be a number in pixels or a string like "300px".
minDate | Number | String | MomentnoneSet a minimum Date for the visible range. - It will not be possible to move beyond this minimum. -
minHeightNumber | StringnoneSpecifies the minimum height for the Timeline. Can be a number in pixels or a string like "300px".
moveableBooleantrue - Specifies whether the Timeline can be moved and zoomed by dragging the window. - See also option zoomable. -
onAddFunctionnoneCallback function triggered when an item is about to be added: when the user double taps an empty space in the Timeline. See section Editing Items for more information. Only applicable when both options selectable and editable.add are set true. -
onUpdateFunctionnoneCallback function triggered when an item is about to be updated, when the user double taps an item in the Timeline. See section Editing Items for more information. Only applicable when both options selectable and editable.updateTime or editable.updateGroup are set true. -
onMoveFunctionnoneCallback function triggered when an item has been moved: after the user has dragged the item to an other position. See section Editing Items for more information. Only applicable when both options selectable and editable.updateTime or editable.updateGroup are set true. -
onMovingFunctionnoneCallback function triggered repeatedly when an item is being moved. See section Editing Items for more information. Only applicable when both options selectable and editable.updateTime or editable.updateGroup are set true. -
onRemoveFunctionnoneCallback function triggered when an item is about to be removed: when the user tapped the delete button on the top right of a selected item. See section Editing Items for more information. Only applicable when both options selectable and editable.remove are set true. -
orderFunctionnone -

Provide a custom sort function to order the items. The order of the - items is determining the way they are stacked. The function - order is called with two arguments containing the data of two items to be - compared. -

-

WARNING: Use with caution. Custom ordering is not suitable for large amounts of items. On load, the Timeline will render all items once to determine their width and height. Keep the number of items in this configuration limited to a maximum of a few hundred items.

-
orientationString | Object'bottom'Orientation of the timelines axis and items. When orientation is a string, the value is applied to both items and axis. Can be 'top', 'bottom' (default), or 'both'.
orientation.axisString'bottom'Orientation of the timeline axis: 'top', 'bottom' (default), or 'both'. If orientation is 'bottom', the time axis is drawn at the bottom. When 'top', the axis is drawn on top. When 'both', two axes are drawn, both on top and at the bottom.
orientation.itemString'bottom'Orientation of the timeline items: 'top' or 'bottom' (default). Determines whether items are aligned to the top or bottom of the Timeline.
selectableBooleantrueIf true, the items on the timeline can be selected. Multiple items can be selected by long pressing them, or by using ctrl+click or shift+click. The event select is fired each time the selection has changed (see section Events).
showCurrentTimebooleantrueShow a vertical bar at the current time.
showMajorLabelsbooleantrueBy default, the timeline shows both minor and major date labels on the - time axis. - For example the minor labels show minutes and the major labels show hours. - When showMajorLabels is false, no major labels - are shown.
showMinorLabelsbooleantrueBy default, the timeline shows both minor and major date labels on the - time axis. - For example the minor labels show minutes and the major labels show hours. - When showMinorLabels is false, no minor labels - are shown. When both showMajorLabels and - showMinorLabels are false, no horizontal axis will be - visible.
stackBooleantrueIf true (default), items will be stacked on top of each other such that they do not overlap.
snapfunction | nullfunctionWhen moving items on the Timeline, they will be snapped to nice dates like full hours or days, depending on the current scale. The snap function can be replaced with a custom function, or can be set to null to disable snapping. The signature of the snap function is: -
function snap(date: Date, scale: string, step: number) : Date | number
- The parameter scale can be can be 'millisecond', 'second', 'minute', 'hour', 'weekday, 'day, 'month, or 'year'. The parameter step is a number like 1, 2, 4, 5. -
startDate | Number | String | MomentnoneThe initial start date for the axis of the timeline. - If not provided, the earliest date present in the events is taken as start date.
templateFunctionnoneA template function used to generate the contents of the items. The function is called by the Timeline with an items data as argument, and must return HTML code as result. When the option template is specified, the items do not need to have a field content. See section Templates for a detailed explanation.
timeAxis.scalestringnoneSet a fixed scale for the time axis of the Timeline. Choose from 'millisecond', 'second', 'minute', 'hour', 'weekday', 'day', 'month', 'year'. Example usage: -
var options = {
-  timeAxis: {scale: 'minute', step: 5}
-}
-
timeAxis.stepnumber1 - Set a fixed step size for the time axis. Only applicable when used together with timeAxis.scale. - Choose for example 1, 2, 5, or 10.
typeStringnoneSpecifies the default type for the timeline items. Choose from 'box', 'point', 'range', and 'background'. Note that individual items can override this default type. If undefined, the Timeline will auto detect the type from the items data: if a start and end date is available, a 'range' will be created, and else, a 'box' is created. Items of type 'background' are not editable. -
widthString'100%'The width of the timeline in pixels or as a percentage.
zoomableBooleantrue - Specifies whether the Timeline can be zoomed by pinching or scrolling in the window. - Only applicable when option moveable is set true. -
zoomMaxNumber315360000000000Set a maximum zoom interval for the visible range in milliseconds. - It will not be possible to zoom out further than this maximum. - Default value equals about 10000 years. -
zoomMinNumber10Set a minimum zoom interval for the visible range in milliseconds. - It will not be possible to zoom in further than this minimum. -
- -

Methods

-

- The Timeline supports the following methods. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MethodReturn TypeDescription
addCustomTime([time] [, id])Number | String - Add new vertical bar representing a custom time that can be dragged by the user. - Parameter time can be a Date, Number, or String, and is new Date() by default. - Parameter id can be Number or String and is undefined by default.
- Returns id of the created bar. -
destroy()noneDestroy the Timeline. The timeline is removed from memory. all DOM elements and event listeners are cleaned up. -
fit([options])noneAdjust the visible window such that it fits all items. See also function focus(id). - Available options: -
    -
  • animation: boolean | {duration: number, easingFunction: string}
    If true (default) or an Object, the range is animated smoothly to the new window. An object can be provided to specify duration and easing function. Default duration is 500 ms, and default easing function is 'easeInOutQuad'. Available easing functions: "linear", "easeInQuad", "easeOutQuad", "easeInOutQuad", "easeInCubic", "easeOutCubic", "easeInOutCubic", "easeInQuart", "easeOutQuart", "easeInOutQuart", "easeInQuint", "easeOutQuint", "easeInOutQuint". -
  • -
-
focus(id | ids [, options])noneAdjust the visible window such that the selected item (or multiple items) are centered on screen. See also function fit(). Available options: -
    -
  • animation: boolean | {duration: number, easingFunction: string}
    If true (default) or an Object, the range is animated smoothly to the new window. An object can be provided to specify duration and easing function. Default duration is 500 ms, and default easing function is 'easeInOutQuad'. Available easing functions: "linear", "easeInQuad", "easeOutQuad", "easeInOutQuad", "easeInCubic", "easeOutCubic", "easeInOutCubic", "easeInQuart", "easeOutQuart", "easeInOutQuart", "easeInQuint", "easeOutQuint", "easeInOutQuint".
  • -
-
getCurrentTime()DateGet the current time. Only applicable when option showCurrentTime is true. -
getCustomTime([id])DateRetrieve the custom time from the custom time bar with given id. Id is undefined by default. -
getEventProperties(event)Object - Returns an Object with relevant properties from an event: -
    -
  • group (Number | null): the id of the clicked group.
  • -
  • item (Number | null): the id of the clicked item.
  • -
  • pageX (Number): absolute horizontal position of the click event.
  • -
  • pageY (Number): absolute vertical position of the click event.
  • -
  • x (Number): relative horizontal position of the click event.
  • -
  • y (Number): relative vertical position of the click event.
  • -
  • time (Date): Date of the clicked event.
  • -
  • snappedTime (Date): Date of the clicked event, snapped to a nice value.
  • -
  • what (String | null): name of the clicked thing: item, background, axis, group-label, custom-time, or current-time.
  • -
  • event (Object): the original click event.
  • -
-
getSelection()Number[]Get an array with the ids of the currently selected items.
getVisibleItems()Number[]Get an array with the ids of the currently visible items.
getWindow()ObjectGet the current visible window. Returns an object with properties start: Date and end: Date.
moveTo(time [, options])noneMove the window such that given time is centered on screen. Parameter time can be a Date, Number, or String. Available options: -
    -
  • animation: boolean | {duration: number, easingFunction: string}
    If true (default) or an Object, the range is animated smoothly to the new window. An object can be provided to specify duration and easing function. Default duration is 500 ms, and default easing function is 'easeInOutQuad'. Available easing functions: "linear", "easeInQuad", "easeOutQuad", "easeInOutQuad", "easeInCubic", "easeOutCubic", "easeInOutCubic", "easeInQuart", "easeOutQuart", "easeInOutQuart", "easeInQuint", "easeOutQuint", "easeInOutQuint".
  • -
-
on(event, callback)noneCreate an event listener. The callback function is invoked every time the event is triggered. Avialable events: rangechange, rangechanged, select. The callback function is invoked as callback(properties), where properties is an object containing event specific properties. See section Events for more information.
off(event, callback)noneRemove an event listener created before via function on(event, callback). See section Events for more information.
redraw()noneForce a redraw of the Timeline. The size of all items will be recalculated. - Can be useful to manually redraw when option autoResize=false and the window - has been resized, or when the items CSS has been changed. -
removeCustomTime(id)none - Remove vertical bars previously added to the timeline via addCustomTime method. Parameter id is the ID of the custom vertical bar returned by addCustomTime method. -
setCurrentTime(time)noneSet a current time. This can be used for example to ensure that a client's time is synchronized with a shared server time. - time can be a Date object, numeric timestamp, or ISO date string. - Only applicable when option showCurrentTime is true.
setCustomTime(time [, id])noneAdjust the time of a custom time bar. - Parameter time can be a Date object, numeric timestamp, or ISO date string. - Parameter id is the idof the custom time bar, and is undefined by default. -
setData({
  groups: groups,
  items: items
})
noneSet both groups and items at once. Both properties are optional. This is a convenience method for individually calling both setItems(items) and setGroups(groups). - Both items and groups can be an Array with Objects, - a DataSet, or a DataView. For each of the groups, the items of the - timeline are filtered on the property group, which - must correspond with the id of the group. -
setGroups(groups)noneSet a data set with groups for the Timeline. - groups can be an Array with Objects, - a DataSet, or a DataView. For each of the groups, the items of the - timeline are filtered on the property group, which - must correspond with the id of the group. -
setItems(items)noneSet a data set with items for the Timeline. - items can be an Array with Objects, - a DataSet, or a DataView. -
setOptions(options)noneSet or update options. It is possible to change any option of the timeline at any time. You can for example switch orientation on the fly. -
setSelection(id | ids [, options])noneSelect one or multiple items by their id. The currently selected items will be unselected. To unselect all selected items, call `setSelection([])`. Available options: -
    -
  • focus: boolean
    If true, focus will be set to the selected item(s)
  • -
  • animation: boolean | {duration: number, easingFunction: string}
    If true (default) or an Object, the range is animated smoothly to the new window. An object can be provided to specify duration and easing function. Default duration is 500 ms, and default easing function is 'easeInOutQuad'. Only applicable when option focus is true. Available easing functions: "linear", "easeInQuad", "easeOutQuad", "easeInOutQuad", "easeInCubic", "easeOutCubic", "easeInOutCubic", "easeInQuart", "easeOutQuart", "easeInOutQuart", "easeInQuint", "easeOutQuint", "easeInOutQuint".
  • -
-
setWindow(start, end [, options])noneSet the current visible window. The parameters start and end can be a Date, Number, or String. If the parameter value of start or end is null, the parameter will be left unchanged. Available options: -
    -
  • animation: boolean | {duration: number, easingFunction: string}
    If true (default) or an Object, the range is animated smoothly to the new window. An object can be provided to specify duration and easing function. Default duration is 500 ms, and default easing function is 'easeInOutQuad'. Available easing functions: "linear", "easeInQuad", "easeOutQuad", "easeInOutQuad", "easeInCubic", "easeOutCubic", "easeInOutCubic", "easeInQuart", "easeOutQuart", "easeInOutQuart", "easeInQuint", "easeOutQuint", "easeInOutQuint".
  • -
-
- - - -

Events

-

- Timeline fires events when changing the visible window by dragging, when - selecting items, and when dragging the custom time bar. -

- -

- Here an example on how to listen for a select event. -

- -
-timeline.on('select', function (properties) {
-  alert('selected items: ' + properties.nodes);
-});
-
- -

- A listener can be removed via the function off: -

- -
-function onSelect (properties) {
-  alert('selected items: ' + properties.nodes);
-}
-
-// add event listener
-timeline.on('select', onSelect);
-
-// do stuff...
-
-// remove event listener
-timeline.off('select', onSelect);
-
- - -

- The following events are available. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nameDescriptionProperties
clickFired when clicked inside the Timeline. - - Passes a properties object as returned by the method Timeline.getEventProperties(event). -
contextmenuFired when right-clicked inside the Timeline. Note that in order to prevent the context menu from showing up, default behavior of the event must be stopped: -
timeline.on('contextmenu', function (props) {
-  alert('Right click!');
-  props.event.preventDefault();
-});
-
-
- Passes a properties object as returned by the method Timeline.getEventProperties(event). -
doubleClickFired when double clicked inside the Timeline. - - Passes a properties object as returned by the method Timeline.getEventProperties(event). -
rangechangeFired repeatedly when the timeline window is being changed. - -
    -
  • start (Number): timestamp of the current start of the window.
  • -
  • end (Number): timestamp of the current end of the window.
  • -
  • byUser (Boolean): change happened because of user drag/zoom.
  • -
-
rangechangedFired once after the timeline window has been changed. - -
    -
  • start (Number): timestamp of the current start of the window.
  • -
  • end (Number): timestamp of the current end of the window.
  • -
  • byUser (Boolean): change happened because of user drag/zoom.
  • -
-
selectFired after the user selects or deselects items by tapping or holding them. - When a use taps an already selected item, the select event is fired again. - Not fired when the method setSelectionis executed. - -
    -
  • items: an array with the ids of the selected items
  • -
-
timechangeFired repeatedly when the user is dragging the custom time bar. - Only available when the custom time bar is enabled. - -
    -
  • id (Number | String): custom time bar id.
  • -
  • time (Date): the custom time.
  • -
-
timechangedFired once after the user has dragged the custom time bar. - Only available when the custom time bar is enabled. - -
    -
  • id (Number | String): custom time bar id.
  • -
  • time (Date): the custom time.
  • -
-
- -

Editing Items

-

- When the Timeline is configured to be editable (both options selectable and editable are true), the user can: -

-
    -
  • Select an item by clicking it, and use ctrl+click to or shift+click to select multiple items
  • -
  • Move selected items by dragging them.
  • -
  • Create a new item by double tapping on an empty space.
  • -
  • Create a new range item by dragging on an empty space with the ctrl key down.
  • -
  • Update an item by double tapping it.
  • -
  • Delete a selected item by clicking the delete button on the top right.
  • -
- -

Option editable accepts a boolean or an object. When editable is a boolean, all manipulation actions will be either enabled or disabled. When editable is an object, one can enable individual manipulation actions:

- -
// enable or disable all manipulation actions
-var options = {
-  editable: true       // true or false
-};
-
-// enable or disable individual manipulation actions
-var options = {
-  editable: {
-    add: true,         // add new items by double tapping
-    updateTime: true,  // drag items horizontally
-    updateGroup: true, // drag items from one group to another
-    remove: true       // delete an item by tapping the delete button top right
-  }
-};
- - -

- One can specify callback functions to validate changes made by the user. There are a number of callback functions for this purpose: -

- -
    -
  • onAdd(item, callback) Fired when a new item is about to be added. If not implemented, the item will be added with default text contents.
  • -
  • onUpdate(item, callback) Fired when an item is about to be updated. This function typically has to show a dialog where the user change the item. If not implemented, nothing happens.
  • -
  • onMove(item, callback) Fired when an item has been moved. If not implemented, the move action will be accepted.
  • -
  • onMoving(item, callback) Fired repeatedly while an item is being moved (dragged). Can be used to adjust the items start, end, and/or group to allowed regions.
  • -
  • onRemove(item, callback) Fired when an item is about to be deleted. If not implemented, the item will be always removed.
  • -
- -

- Each of the callbacks is invoked with two arguments: -

-
    -
  • item: the item being manipulated
  • -
  • callback: a callback function which must be invoked to report back. The callback must be invoked as callback(item | null). Here, item can contain changes to the passed item. Parameter `item` typically contains fields `content`, `start`, and optionally `end`. The type of `start` and `end` is determined by the DataSet type configuration and is `Date` by default. When invoked as callback(null), the action will be cancelled.
  • -
- -

- Example code: -

- -
var options = {
-  onUpdate: function (item, callback) {
-    item.content = prompt('Edit items text:', item.content);
-    if (item.content != null) {
-      callback(item); // send back adjusted item
-    }
-    else {
-      callback(null); // cancel updating the item
-    }
-  }
-};
-
- -A full example is available here: 08_edit_items.html. - - -

Templates

- -

- Timeline supports templates to format item contents. Any template engine (such as handlebars or mustache) can be used, and one can also manually build HTML. In the options, one can provide a template handler. This handler is a function accepting an items data as argument, and outputs formatted HTML: -

- -
var options = {
-  template: function (item) {
-    var html = ... // generate HTML markup for this item
-    return html;
-  }
-};
-
- -

Create HTML manually

- -The HTML for an item can be created manually: - -
var options = {
-  template: function (item) {
-    return '<h1>' + item.header + '</h1><p>' + item.description + '</p>';
-  }
-};
-
- -

Using a template engine

- -Using handlebars, one can write the template in HTML: - -
-<script id="item-template" type="text/x-handlebars-template">
-  <h1>{{header}}</h1>
-  <p>{{description}}</p>
-</script>
-
- -Compile the template: - -
-var source = document.getElementById('item-template').innerHTML;
-var template = Handlebars.compile(source);
-
- -And then specify the template in the Timeline options - -
var options = {
-  template: template
-};
-
- -

Multiple templates

- -In order to support multiple templates, the template handler can be extended to switch between different templates, depending on a specific item property: - -
-var templates = {
-  template1: Handlebars.compile(...),
-  template2: Handlebars.compile(...),
-  template2: Handlebars.compile(...),
-  ...
-};
-
-var options = {
-  template: function (item) {
-    var template = templates[item.template];  // choose the right template
-    return template(item);                    // execute the template
-  }
-};
-
- -Now the items can be extended with a property template, specifying which template to use for the item. - - -

Localization

-

- Timeline can be localized. For localization, Timeline depends largely on the localization of moment.js. Locales are not included in vis.js by default. To enable localization, moment.js must be loaded with locales. Moment.js offers a bundle named "moment-with-locales.min.js" for this and there are various alternative ways to load locales. -

- -

- To set a locale for the Timeline, specify the option locale: -

- -
var options = {
-  locale: 'nl'
-};
-
- -

Create a new locale

- -To load a locale into the Timeline not supported by default, one can add a new locale to the option locales: - -
var options = {
-  locales: {
-    // create a new locale (text strings should be replaced with localized strings)
-    mylocale: {
-      current: 'current',
-      time: 'time',
-    }
-  },
-
-  // use the new locale
-  locale: 'mylocale'
-};
-
- -

Available locales

- -

- Timeline comes with support for the following locales: -

- - - - - - - - - - - -
LanguageCode
English - en
- en_EN
- en_US -
Dutch - nl
- nl_NL
- nl_BE -
- - -

Styles

-

- All parts of the Timeline have a class name and a default css style. - The styles can be overwritten, which enables full customization of the layout - of the Timeline. -

- -

For example, to change the border and background color of all items, include the - following code inside the head of your html code or in a separate stylesheet.

-
<style>
-  .vis-item {
-    border-color: orange;
-    background-color: yellow;
-  }
-</style>
-
- -

Grid Backgrounds

-

- The background grid of the time axis can be styled, for example to highlight - weekends or to create grids with an alternating white/lightgray background. -

-

- Depending on the zoom level, the grids get certain css classes attached. - The following classes are available: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Descriptionvalues
Alternating columnseven, odd
Current datetoday, tomorrow, yesterday, current-week, current-month, current-year
Hoursh0, h1, ..., h23
Grouped hoursh0-h4 to h20-h24
Weekdaymonday, tuesday, wednesday, thursday, friday, saturday, sunday
Daysdate1, date2, ..., date31
Monthsjanuari, februari, march, april, may, june, july, august, september, october, november, december
Yearsyear2014, year2015, ...
- -

Examples:

- -
<style>
-  /* alternating column backgrounds */
-  .vis-time-axis .grid.odd {
-    background: #f5f5f5;
-  }
-
-  /* gray background in weekends, white text color */
-  .vis-time-axis .vis-grid.saturday,
-  .vis-time-axis .vis-grid.sunday {
-    background: gray;
-  }
-  .vis-time-axis .vis-text.saturday,
-  .vis-time-axis .vis-text.sunday {
-    color: white;
-  }
-</style>
-
- - -

Data Policy

-

- All code and data is processed and rendered in the browser. - No data is sent to any server. -

- -
- - diff --git a/examples/graph2d/16_bothAxis_titles.html b/examples/graph2d/16_bothAxisTitles.html similarity index 100% rename from examples/graph2d/16_bothAxis_titles.html rename to examples/graph2d/16_bothAxisTitles.html diff --git a/examples/network/basic_usage.html b/examples/network/basicUsage.html similarity index 100% rename from examples/network/basic_usage.html rename to examples/network/basicUsage.html diff --git a/examples/network/data/dynamic_data.html b/examples/network/data/dynamicData.html similarity index 100% rename from examples/network/data/dynamic_data.html rename to examples/network/data/dynamicData.html diff --git a/examples/network/data/importing_from_gephi.html b/examples/network/data/importingFromGephi.html similarity index 100% rename from examples/network/data/importing_from_gephi.html rename to examples/network/data/importingFromGephi.html diff --git a/examples/network/data/scaling_custom.html b/examples/network/data/scalingCustom.html similarity index 100% rename from examples/network/data/scaling_custom.html rename to examples/network/data/scalingCustom.html diff --git a/examples/network/data/scaling_nodes_edges.html b/examples/network/data/scalingNodesEdges.html similarity index 100% rename from examples/network/data/scaling_nodes_edges.html rename to examples/network/data/scalingNodesEdges.html diff --git a/examples/network/data/scaling_nodes_edges_labels.html b/examples/network/data/scalingNodesEdgesLabels.html similarity index 100% rename from examples/network/data/scaling_nodes_edges_labels.html rename to examples/network/data/scalingNodesEdgesLabels.html diff --git a/examples/network/exampleApplications/les_miserables.html b/examples/network/exampleApplications/lesMiserables.html similarity index 100% rename from examples/network/exampleApplications/les_miserables.html rename to examples/network/exampleApplications/lesMiserables.html diff --git a/examples/network/exampleApplications/neighbourhood_highlight.html b/examples/network/exampleApplications/neighbourhoodHighlight.html similarity index 100% rename from examples/network/exampleApplications/neighbourhood_highlight.html rename to examples/network/exampleApplications/neighbourhoodHighlight.html diff --git a/examples/network/index.html b/examples/network/index.html deleted file mode 100644 index efba4e2c..00000000 --- a/examples/network/index.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - vis.js | Network examples - - - - - - - - - \ No newline at end of file diff --git a/examples/network/labels/label_alignment.html b/examples/network/labels/labelAlignment.html similarity index 100% rename from examples/network/labels/label_alignment.html rename to examples/network/labels/labelAlignment.html diff --git a/examples/network/labels/label_background.html b/examples/network/labels/labelBackground.html similarity index 100% rename from examples/network/labels/label_background.html rename to examples/network/labels/labelBackground.html diff --git a/examples/network/labels/label_color_and_size.html b/examples/network/labels/labelColorAndSize.html similarity index 100% rename from examples/network/labels/label_color_and_size.html rename to examples/network/labels/labelColorAndSize.html diff --git a/examples/network/labels/label_stroke.html b/examples/network/labels/labelStroke.html similarity index 100% rename from examples/network/labels/label_stroke.html rename to examples/network/labels/labelStroke.html diff --git a/examples/network/labels/multiline_text.html b/examples/network/labels/multilineText.html similarity index 100% rename from examples/network/labels/multiline_text.html rename to examples/network/labels/multilineText.html diff --git a/examples/network/layout/hierarchical_layout.html b/examples/network/layout/hierarchicalLayout.html similarity index 100% rename from examples/network/layout/hierarchical_layout.html rename to examples/network/layout/hierarchicalLayout.html diff --git a/examples/network/layout/hierarchical_layout_methods.html b/examples/network/layout/hierarchicalLayoutMethods.html similarity index 100% rename from examples/network/layout/hierarchical_layout_methods.html rename to examples/network/layout/hierarchicalLayoutMethods.html diff --git a/examples/network/layout/hierarchical_layout_userdefined.html b/examples/network/layout/hierarchicalLayoutUserdefined.html similarity index 100% rename from examples/network/layout/hierarchical_layout_userdefined.html rename to examples/network/layout/hierarchicalLayoutUserdefined.html diff --git a/examples/network/nodeStyles/HTML_in_Nodes.html b/examples/network/nodeStyles/HTMLInNodes.html similarity index 100% rename from examples/network/nodeStyles/HTML_in_Nodes.html rename to examples/network/nodeStyles/HTMLInNodes.html diff --git a/examples/network/nodeStyles/circular_images.html b/examples/network/nodeStyles/circularImages.html similarity index 100% rename from examples/network/nodeStyles/circular_images.html rename to examples/network/nodeStyles/circularImages.html diff --git a/lib/timeline/optionsGraph2d.js b/lib/timeline/optionsGraph2d.js index 5ff1eb42..2f73fc99 100644 --- a/lib/timeline/optionsGraph2d.js +++ b/lib/timeline/optionsGraph2d.js @@ -159,7 +159,7 @@ let allOptions = { let configureOptions = { global: { - yAxisOrientation: ['left','right'], + //yAxisOrientation: ['left','right'], // TDOO: enable as soon as Grahp2d doesn't crash when changing this on the fly sort: true, sampling: true, stack:false, diff --git a/package.json b/package.json index bcc485e7..e6d2b990 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vis", - "version": "4.0.1-SNAPSHOT", + "version": "4.1.1-SNAPSHOT", "description": "A dynamic, browser-based visualization library.", "homepage": "http://visjs.org/", "license": "(Apache-2.0 OR MIT)", @@ -52,5 +52,8 @@ "uglify-js": "^2.4.20", "webpack": "^1.8.5", "yargs": "^3.7.2" + }, + "browserify": { + "transform": ["babelify"] } } diff --git a/test/timeline.html b/test/timeline.html index 7923cb33..ed2e5dbb 100644 --- a/test/timeline.html +++ b/test/timeline.html @@ -136,7 +136,7 @@ end: now.clone().add(1, 'days').add(1, 'minutes').toDate(), title: 'hello title!' }, - {_id: 5, content: 'item 5', start: now.clone().add(9, 'days').toDate(), type:'point', title: 'hello title!'}, + {_id: 5, content: 'item 5', start: now.clone().add(9, 'days').toDate(), type:'point', title: 'hello title!', className: 'special'}, {_id: 6, content: 'item 6', start: now.clone().add(11, 'days').toDate()} ]);