UNPKG

vis-timeline

Version:

Create a fully customizable, interactive timeline with items and ranges.

1,196 lines (913 loc) 75.9 kB
# vis.js history http://visjs.org ## 2017-10-12, version 4.21.0 ### General - Added #3394: Adds unit tests for add, setOptions and on/off DataSet - FIX #3406: Eliminate possibility of 'window is undefined' during travis test - Added #3402: added @macleodbroad-wf to the support team - REFA #3442: Strapping down of Extend-routines in util.js - FIX #3392: Addresses TODOs in Queue unit test by adding unit tests for setOptions and destroy - Added #3354: Adds missing jsdoc and adds lint rule require-jsdoc to build process - Added #3331 - Enable linting for Travis - Added #3312, #3311, #3310, #3309, #3308, #3304 - Add lint - Added #3230 - Enable 'eslint' - Added #3262 - Upgrade packages and tools for Travis unit testing - Added #3287: Update module versions to latest stable - Added #3295: Update the webpack example ### Network - FIX #3554: Relax clustering condition for adding already clustered nodes to cluster - FIX #3517: Retain constraint values in label font handling - REFA #3507: Cleanup and refactoring PhysicsEngine - FIX #3500: re-adds edges if they are now connected and add does not add invalid edges - FIX #3486: Add extra check on null value during label handling - FEAT #824: Network detect clicks on labels - FIX #3474: Adjust documentation for arrows.middle.scaleFactor - FIX #3483: Prevent image loading for hidden cluster nodes - FIX #3408, #2677: Fix handling of multi-fonts - FIX #3425: IE performance improvements - FIX #3356 and #3297: IE11 svg image fixes - FIX #3474: Make negative scaleFactor reverse middle arrow correctly - FIX #3464: Fix handling of space before huge word in label text - FIX #3467: Adjust for-in loops so they can deal with added properties in Array and Object prototype - FEAT #3412: Add endpoint 'bar' to Network - FIX #3403: Fixes sorting on Layout, refactoring - FIX #3421: Added default sizes for nodes without labels - FEAT #3418: Added new Hexagon shape in the Network - FEAT #3368: Cluster node handling due to dynamic data change - FIX #3395: Allow for multiline titles - FIX #3367: Network Clustering fixes on usage joinCondition for clusterOutliers() - FIX #3350: Fix setting of edge color options via Network.setOptions() - FEAT #3348: Add edge styles support for DOT lib - FIX #2839: Re-words documentation to reflect symmetrical input/output of get() when passed multiple ids - FIX #3316: Updates network documentation to account for edge - FIX #1218, #1291, #1315: Dynamically adjust clustering when data changes - FIX #2311: Block recalculation of level in LayoutEngine._determineLevelsDirected() - FIX #3280: Cleanup mergeOptions() and fix missing ref on globalOptions in mergeOptions() - FEAT #3131: Added dragStart event for adding edges - FIX #3171 and #3185: Fix infinite loop on drawing of large labels - FIX #3220: Update hierarchy when node level changes - FIX #3245: Multiple base edges in clustered edge - FEAT #1222: Add pointer data to hover events - REFA #3106: Refactoring and unit testing of Validator module - REFA #3227: Refactor LayoutEngine for further work - FIX #3164: make 'hidden' and 'clustered' play nice together - FIX #2579: Allow DOM elements for node titles - FIX #2856: Fix manipulation examples for Network ### Graph2D - FIX #1852: Correct documentation for graph2d’s moveTo function ### Graph3D - FIX #3467: Adjust for-in loops so they can deal with added properties in Array and Object prototypes - FEAT #3099: Add option definitions and validation to Graph3d - REFA #3159: move Filter into DataGroup - FEAT #3255: Add unit tests for Graph3D issue - FIX #3251: Graph3d put guards before unsubscription in DataGroup - FIX #3255: Fix missing reference to Graph3D instance in DataGroup ### Timeline - FEAT #3529: On timeline loaded - FEAT #3505: Drag object in to item - FEAT #3050: Allow disabling of RangeItem limitSize - FIX #3475: Item Redraw Performance - Bug Fix - FIX #3504: Fixing a bug with the timing of the final setting of the vertical scroll position - FIX #3509: Added describe sections to PointItem unit tests - FIX #2851: Vertical focus - FEAT #620: Subgroup stacking - FIX #3475: Improve Item redraw and initial draw performance - FIX #3409: Group redraw performance - FEAT #3428: Adds locale for Chinese (cn) - FIX #3405: fix orientation option - FIX #3360: Add performance tips to timeline docs - FIX #3378: Add item with ctrlKey/metaKey when dagging on a selected item - FIX #3126: Nested groups order logic - FIX #3246: Fix issue when showMajorLabels == false is used with a weekly scale and weekly scale minor label fix - FIX #3342: Bug fix for null parent - FIX #2123: Disable the default handling of the pinch event when handling it - FIX #3169: add parenthesis around ternary - FIX #3249: Only draw non-visible items once when they are loaded, instead of continuously every frame - FEAT #3162: Bidirectional scrolling in timeline - make horizontalScroll and verticalScroll work together ## 2017-07-01, version 4.20.1 ### General - Added Release checklist - Added collapsible items for objects in graph3d doc ### Network - FIX #3203: Set dimensions properly of images on initialization - FIX #3170: Refactoring of Node Drawing - FIX #3108: Reverse nodes returned with 'from' and 'to' directions - FIX #3122: Refactored line drawing for Bezier edges - FIX #3121: Refactoring of `BezierEdgeStatic._getViaCoordinates()` - FIX #3088: Consolidate code for determining the pixel ratio - FIX #3036: Smooth type 'dynamic' adjusted for node-specific option in hierarchical - FIX #1105: Fix usage of clustering with hierarchical networks - FIX #3133: Protect Network from zero and negative mass values - FIX #3163: Prevent crashes from invalid id's in `Clustering.findNode()` - FIX #3106: Ensure start and end of stabilization progress events is sent - FIX #3015: Properly handle newline escape sequences in strings for DOT - FIX: Refactoring of LayoutEngine (#3110) - FIX #2990: Edge labels turn bold on select and hover - FIX #2959: Changed order of (de)select events for network - FIX #3091: Added param 'direction' to Network.getConnectedNodes() - FIX #3085: Add prefix to cancelAnimationFrame() ### Graph3D - FIX #3198: Small fix on ref usage in DataGroup - FIX #2804: Add data group class to Graph3d ### Timeline - FIX #3172: Fix stacking when setting option - FIX #3183: Fixes a race condition that set an item's group to be set to undefined - FEAT #3154: Caching to Range getMillisecondsPerPixel function - FIX #3105: Adjusting timeline TimeStep.roundToMinor - FEAT #3107: Allow overriding `align` per item ## 2017-05-21, version 4.20.0 ### General - FIX #2934: Replacing all ES6 imports with CJS require calls (#3063) - Add command line options to mocha for running tests (#3064) - Added documentation on how labels are used (#2873) - FIX: Fix typo in PR template (#2908) - FIX #2912: updated moment.js (#2925) - Added @wimrijnders to the support team (#2886) ### Network - FIX: Fixes for loading images into image nodes (#2964) - FIX #3025: Added check on mission var 'options', refactoring. (#3055) - FIX #3057: Use get() to get data from DataSet/View instead of directly accessing member \_data. (#3069) - FIX #3065: Avoid overriding standard context method ellipse() (#3072) - FIX #2922: bold label for selected ShapeBase classes (#2924) - FIX #2952: Pre-render node images for interpolation (#3010) - FIX #1735: Fix for exploding directed network, first working version; refactored hierarchical state in LayoutEngine.(#3017) - Refactoring of Label.propagateFonts() (#3052) - FIX #2894: Set CircleImageBase.imageObjAlt always when options change (#3053) - FIX #3047: Label.getFormattingValues() fix option fallback to main font for mod-fonts (#3054) - FIX #2938: Fix handling of node id's in saveAndLoad example (#2943) - FIX: Refactoring in Canvas.js (#3030) - FIX #2968: Fix placement label for dot shape (#3018) - FIX #2994: select edge with id zero (#2996) - FIX #1847, #2436: Network: use separate refresh indicator in NodeBase, instead of width… (#2885) - Fix #2914: Use option edges.chosen if present in global options (#2917) - FIX #2940: Gephi consolidate double assignment of node title (#2962) - FIX 2936: Fix check for nodes not present in EdgesHandler (#2963) - FEAT: Reduce the time-complexity of the network initial positioning (#2759) ### Timeline / Graph2D - FEAT: Add support for multiple class names in utils add/remove class methods (#3079) - FEAT: Adds 'showTooltips' option to override popups displayed for items with titles (#3046) - FIX #2818: LineGraph: Add an existingItemsMap to check if items are new or not before skipping (#3075) - FEAT #2835: Improve timeline stack performance (#2848, #3078) - FIX #3032: mouseup and mousedown events (#3059) - FIX #2421: Fix click and doubleclick events on items (#2988) - FEAT #1405, #1715, #3002: Implementation of a week scale feature (#3009) - FIX #397: Eliminate repeatedly fired `rangechanged` events on mousewheel (#2989) - FIX #2939: Add check for parent existence when changing group in Item.setData (#2985) - FIX #2877: Add check for empty groupIds array and get full list from data set (#2986) - FIX #2614: Timeline docs border overlaps (#2992) - FIX: Doubleclick add (#2987) - FIX #2679: Cannot read property 'hasOwnProperty' of null (#2973) - FEAT #2863: Drag and drop custom fields (#2872) - FEAT #2834: Control over the drop event (#2974) - FIX #2918: Remove usages of elementsCensor (#2947) - FEAT #2948: Rolling mode offset (#2950) - FEAT #2805: Add callback functions to moveTo, zoomIn, zoomOut and setWindow (#2870) - FIX: Do not corrupt class names at high zoom levels (#2909) - FIX #2888: Fix error in class names (#2911) - FIX #2835: Visible items bug (#2878) ### Graph3D - FEAT: Configurable minimum and maximum sizes for dot-size graphs (#2849) ## 2017-03-19, version 4.19.1 ### General * FIX: #2685 Fixed babel dependencies (#2875) ### Timeline / Graph2D * FIX #2809: Fix docs typo in "showNested" (#2879) * FIX #2594: Fixes for removing and adding items to subgroups (#2821) * FIX: Allow nested groups to be removed (#2852) ## 2017-03-18, version 4.19.0 ### General - FIX: Fix eslint problem on Travis. (#2744) - added support for eslint (#2695) - Trivial typo fix in how_to_help doc. (#2714) - add link to a mentioned example (#2709) - FEAT: use babel preset2015 for custom builds (#2678) - FIX: use babel version compatible with webpack@1.14 (#2693) - FEAT: run mocha tests in travis ci (#2687) - Add note that PRs should be submitted against the `develop` branch (#2623) - FIX: Fixes instanceof Object statements for objects from other windows and iFrames. (#2631) - removed google-analytics from all examples (#2670) - do not ignore test folder (#2648) - updated dependencies and devDependencies (#2649) - general improvements (#2652) ### Network - FEAT: Improve the performance of the network layout engine (#2729) - FEAT: Allow for image nodes to have a selected or broken image (#2601) ### Timeline / Graph2D - FIX #2842: Prevent redirect to blank after drag and drop in FF (#2871) - FIX #2810: Nested groups do not use "groupOrder" (#2817) - FIX #2795: fix date for custom format function (#2826) - FIX #2689: Add animation options for zoomIn/zoomOut funtions (#2830) - FIX #2800: Removed all "Object.assign" from examples (#2829) - FIX #2725: Background items positioning when orientation: top (#2831) - FEAT: Added data as argument to the template function (#2802) - FIX #2827: Update "progress bar" example to reflect values (#2828) - FIX #2672: Item events original event (#2704) - FIX #2696: Update serialization example to use ISOString dates (#2789) - FIX #2790: Update examples to use ISOString format (#2791) - FEAT: Added support to supply an end-time to bar charts to have them scale (#2760) - FIX #1982, #1417: Modify redraw logic to treat scroll as needing restack (#2774) - FEAT: Initial tests for timeline ItemSet (#2750) - FIX #2720: Problems with option editable (#2743, #2796, #2806) - FIX: Range.js "event" is undeclared (#2749) - FEAT: added new locales for french and espanol (#2723) - FIX: fixes timestep next issue (#2732) - FEAT: #2647 Dynamic rolling mode option (#2705) - FIX #2679: TypeError: Cannot read property 'hasOwnProperty' of null (#2735) - Add initial tests for Timeline PointItem (#2716) - FIX #778: Tooltip does not work with background items in timeline (#2703) - FIX #2598: Flickering onUpdateTimeTooltip (#2702) - FEAT: refactor tooltip to only use one dom-element (#2662) - FEAT: Change setCustomTimeTitle title parameter to be a string or a function (#2611) ### Graph3D - FEAT #2769: Graph3d tooltip styling (#2780) - FEAT #2540: Adjusted graph3d doc for autoscaling (#2812) - FIX #2536: 3d bar graph data array unsorted (#2803) - FEAT: Added showX(YZ)Axis options to Graph3d (#2686) ## 2017-01-29, version 4.18.1 ### General - updated dependencies - FIX: moved babel plugins from devDependencies to dependencies (#2629) ### Network - FIX #2604: Handle label composition for long words (#2650) - FIX #2640: Network manipulation styles together with Bootstrap styles (#2654) - FIX #2494: Fix tree collision in hierarchical layout (#2625) - FIX #2589: Vertically center label in network circle node (#2593) - FIX #2591: Self reference edge should now appear in all cases (#2595) - FIX #2613: Fixed return value for zoom in/out callback (#2615) - FIX #2609: Values should be passed to check values.borderDashes (#2599) ### Timeline / Graph2D - FIX: Fixed htmlContents example (#2651) - FIX #2590: Min zoom bug (#2646) - FIX #2597: Zoom while dragging (#2645) - FIX: Minor cleanups in Timeline Range. (#2633) - FIX #2458: Allow graph2D options to be undefined (#2634) - FIX: Fix typo (#2622) - FIX #2585: Fixed React example (#2587) ## 2017-01-15, version 4.18.0 ### General - Readme improvements (#2520) - Babel updates and fixes (#2466, #2513, #2566) - Removed dist folder from the develop-branch (#2497) - updated and cleaned-up npm dependencies (#2518, #2406) - FEAT: Added CodeClimate tests (#2411) - FEAT: Added initial Travis-CI support: https://travis-ci.org/almende/vis (#2550) - FIX #2500: Replace { bool } with { boolean: bool } (#2501, #2506, #2581) - FIX #2445: Fix YUI Compressor incompatibilities (#2452) - FIX #2402: make sure a given element isn’t undefined before accessing properties (#2403) - FIX #2560: IE11 issue 'Symbol' is undefined with babel-polyfill (#2566) - FIX #2490: Don't pass non-string values to Date.parse (#2534) ### DataSet - FIX: Removed event oldData items (#2535) - FIX #2528: Fixed deleting item with id 0 (#2530) ### Network - FIX #1911: Fix missing blur edge event (#2554) - FIX #2478: Fix tooltip issue causing exception when node becomes cluster (#2555) - FEAT: Change styles if element is selected (#2446) - FEAT #2306: Add example for network onLoad animation. (#2476) - FEAT #1845: Adding example of cursor change (#2463) - FEAT #1603 #1628 #1936 #2298 #2384: Font styles, width and height of network nodes (#2385) - FEAT: Add pointer position to zoom event (#2377) - FEAT #1653 #2342: label margins for box, circle, database, icon and text nodes. (#2343) - FEAT #2233 #2068 #1756: Edit edge without endpoint dragging, and pass label in data (#2329) ### Timeline / Graph2D - FIX: #2522 Right button while dragging item makes items uneditable (#2582) - FIX #2538: Major axis labels displaying wrong value (#2551) - FEAT #2516: Added followMouse & overflowMethod to tooltip options (#2544) - FIX: Fixed tool-tip surviving after item deleted (#2545) - FIX #2515: Fixed hover events for HTML elements (#2539) - FIX: Timeline.setGroups for Array (#2529) - FIX: Error in React example when adding a ranged item (#2521) - FEAT #226 #2421 #2429: Added mouse events for the timeline (#2473) - FEAT #497: new stackSubgroups option (#2519, #2527) - FEAT #338: Added HTML tool-tip support (#2498) - FIX #2511: readded throttleRedraw option; added DEPRECATED warning (#2514) - FEAT #2300: Added nested groups (#2416) - FEAT #2464: Add template support for minor/major labels (#2493) - FIX #2379: Fix initial drag (#2474) - FIX #2102: Fix error on click for graph2D when no data is provided (#2472) - FIX #2469: Fix graph2D render issue (#2470) - FIX #1126: Add visibleFrameTemplate option for higher item dom content (#2437) - FIX #2467: Fix Range ctor with optional options parameter (#2468) - FEAT #1746: Rolling mode (#2439, #2486) - FIX #2422: Timeline onMove callback (#2427) - FIX #2370: IE10 drag-and-drop support (#2426) - FIX #1906: Pass through original hammer.js events (#2420) - FIX #2327: Add support to fixed times drag and drop (#2372) - FIX: \_origRedraw sometimes undefined (#2399) - FIX #2367 #2328: Group editable bug (#2368) - FIX #2336: Mouse wheel problem on custom time element (#2366) - FIX #2307: Timeline async initial redraw bug (#2386) - FIX #2312: Vertical scroll bug with groups and fixed height (#2363) - FIX #2333: Scrollbar width on browser zoom (#2344) - Fixed #2319: Bug in TimeStep.prototype.getClassName (#2335) - FEAT #257: Added option to change the visibility of a group (#2315) - FEAT: More editable control of timeline items (#2305) - FIX #2273: Cannot scroll page when zoomKey is enabled (#2301) - FIX #2295, 2263: Issues with vertical scroll and maxHeight (#2302) - FIX #2285: onUpdate event (#2304) - FIX: Timeline-docs: updated group.content description to show that it can be an element (#2296) - FIX #2251: No axis after daylight saving (#2290) - FEAT #2256: Timeline editable can override items (#2284) - FEAT: Graph2d performance enhancement (#2281) ### Graph3D - FEAT #2451: Allow pass the color of points in 'dot-color' mode of Graph3D (#2489) - FEAT: Improvement for camera 3d moving (#2340) - FEAT: Add ability to move graph3d by left mouse button while pressing ctrl key and rotate like before (#2357) - FIX: Fixed label disappearing bug for large axis values in graph3d (#2348) - FIX: Fixed Grpah3D-docs: Changed "an" to "and" in graph3D docs (#2313) - FIX #2274: Graph3d disappears when setSize is called (#2293) - FIX: Fixed typo in index.html of Graph3D (#2286) ## 2016-11-05, version 4.17.0 ### General - Generate source-maps in develop-branch (#2246) - Implemented #2181: Ignore the "dist" folder in the develop-branch (#2245) - Updates DataSet and DataView remove event payload (#2189, #2264) - Added a Gitter chat badge to README.md (#2179) - Adds `oldData` to the update event payload in DataView (#2174) - Prevent moment.js deprecation warning (#2089) - Fixed #2170: Improved the contribution docs (#1991, #2158, #2178, #2183, #2213, #2218, #2219) - Implemented #1969: generate individual css files for network and timeline (#1970) - Cleanup bower.json (#1968) - Fixed #2114: Removed feature-request page from website - Distinguish better between `devDependencies` and `dependencies` (#1967) - Typos and minor docs improvements (#1958, #2028, #2050, #2093, #2222, #2223, #2224) - Replaced `gulp-minify-css` with `gulp-clean-css` (#1953) ### Network - Fixed HTML in nodes example to work in Safari (#2248, #2260) - Fixed #2100: "zoom" improvements; `clusterByConnection` bugfix (#2229) - Implemented #2073: New example to export/import current network as JSON (#2152) - Fixed #1718, #2122: Fix blur edge for dense networks (#2124) - Russian, Italian, Brazilian Portuguese locale (#2111, #2184, #2188, #2052) - Implemented #1993: edge-endpoint 'circle' (#2066) - Implemented #972, #1920: advanced Clustering (#2055) - Removed restriction to allow clusters of a single node. (#2013) - Improved label positioning in ellipses (#2011) - Fixed #1857: Fixed node positioning with improved Layout:true (#1987) - Fixed issue with selecting edges drawn close to another (#1922) - Fixed getPoint for same node edges (#1907) ### Timeline / Graph2D - Fixed #2261: Bugs with mousewheel events (#2262) - Implemented #1506: Date-Time-Tooltip while item dragging (#2247) - Fixed background items with no groups (#2241) - Fixed #2015: Fixes and improvements for data-serialization (#2244) - Implemented #1881: Drag and Drop into a timeline (#2238) - Implemented #1955: Added zoomIn and zoomOut functions (#2239) - Implemented #2027: Auto-detect Right-To-Left orientation from DOM attributes (#2235, #2237) - German locale (#2234) - Option `zoomKey` added for mouse wheel support (#2197, #2216, #2217) - Implements #2193: Horizontal scrollbar (#2201) - Implements #272, #466, #1060: Vertical scrollbar (#2196, #2197, #2228, #2231) - Fixed #2173: Italian locale (#2185) - Example for react.js support (#2153, #2206, #2211) - Allow custom label formatting via functions (#1098, #2145) - Fix Vertical visibility for all item types (#2143) - Fixed #2057: Right-To-Left orientation docs (#2141) - Small bugfix to prevent null pointer exception (#2116) - Add missing require for util module (#2109) - Fixed #2092: Gaps between timeline items (#2107) - Fixed #2064: Fixed position of box item (#2106) - Implemented #773, #1367: `itemover` and `itemout` events (#2099) - Fixed #27023: Use `requestAnimationFrame` to throttle redraws ()#2091) - Hide vertically hidden ranged items in groups that are not visible (#2062) - Fixed #2032: fixes BoxItem's initial width if content width is dynamic (#2035) - Use css styles instead of delete image (#2034) - Implemented #2014: weekday marks in other zoomlevel (#2016) - Fixed #1625: only use `shape.radius` if available (#2005) - Fixed incorrect documentation URL (#1998) - Added example for zoom functions (#1986) - Fixed #1156: Vertical scrolling when dragging (#1976) - Minor fix in docs (#1972) - Fixed handlebars example (#1946) - Fixed #1723: Problems in the time axis bar if using `hiddenDates` (#1944) - Timestep setMoment fix (#1932) - Fixed #1853: Content overflow (#1862) - Bugfix (#1822) - Fix right orientation axis for Graph2D (f516cb0) ### Graph3D - Minor improvements and major source restructuring (#2157, #2159, #2160, #2162, #2165, #2166, #2167, #2168, #2171, #2175, #2176, #2182, #2195, #2199, #2200, #2202, #2204, #2208, #2209, #2210, #2212, #2214, #2215, #2227, #2230) - Improvements for graph3d legend support (#1940) - Advanced Tooltips (#1884) ## 2016-04-18, version 4.16.1 ### Timeline - Fixed #1786: Timeline having zero height on Internet Explorer, regression introduced after fixing #1697. ## 2016-04-07, version 4.16.0 ### Timeline - Implemented rtl support. Thanks @yotamberk. - Fixed #1697: Timeline not drawn when used within the Angular.js directive. - Fixed #1774: Wrong initial scale when Timeline contains a single item. ### General - Created bundles for individual visualizations: `vis-graph3d.min.js`, `vis-network.min.js`, and `vis-timeline-graph2d.min.js`. ## 2016-03-08, version 4.15.1 ## General - Updated all dependencies. ### Graph2d - Fixed #1455: allow vertical panning of the web page on touch devices. - Fixed #1692: Error when y-axis values are equal. ### Timeline - Fixed #1455: allow vertical panning of the web page on touch devices. - Fixed #1695: Item line and dot not correctly reckoning with the line width when using left or right align. - Fixed #1697: Timeline not drawn when used within the Angular.js directive. ## 2016-02-23, version 4.15.0 ### Timeline - Implemented `currentTimeTick` event (see #1683). - Fixed #1630: method `getItemRange` missing in docs. ### Graph2d - Fixed #1630: method `getDataRange` was wrongly called `getItemRange` in docs. - Fixed #1655: use parseFloat instead of Number.parseFloat, as the latter is not supported in IE. Thanks @ttjoseph. ### Graph3d - Changed the built-in tooltip to show the provided `xLabel`, `yLabel`, and `zLabel` instead of `'x'`, `'y'`, and `'z'`. Thanks @jacklightbody. ### Network - Implemented interpolation option for interpolation of images, default true. - Implemented parentCentralization option for hierarchical layout. - Fixed #1635: edges are now referring to the correct points. - Fixed #1644, #1631: overlapping nodes in hierarchical layout should no longer occur. - Fixed #1575: fixed selection events - Fixed #1677: updating groups through manipulation now works as it should. - Fixed #1672: Implemented stepped scaling for nice interpolation of images. ## 2016-02-04, version 4.14.0 ### Timeline - Fixed a regression: Timeline/Graph2d constructor throwing an exception when no options are provided via the constructor. ### Graph2d - Fixed a regression: Timeline/Graph2d constructor throwing an exception when no options are provided via the constructor. ### Graph3d - Fixed #1615: implemented new option `dotSizeRatio`. ## 2016-02-01, version 4.13.0 ### Network - Added options to customize the hierarchical layout without the use of physics. - Altered edges for arrows and added the arrowStrikethrough option. - Improved the hierarchical layout algorithm by adding a condensing method to remove whitespace. - Fixed #1556: Network throwing an error when clicking the "Edit" button on the manipulation toolbar. - Fixed #1334 (again): Network now ignores scroll when interaction:zoomView is false. - Fixed #1588: destroy now unsubscribed from the dataset. - Fixed #1584: Navigation buttons broken. - Fixed #1596: correct clean up of manipulation dom elements. - Fixed #1594: bug in hierarchical layout. - Fixed #1597: Allow zero borders and addressed scaling artifacts. - Fixed #1608: Fixed wrong variable reference ### Timeline - Moved initial autoscale/fit method to an handler of the "changed" event. - Fixed #1580: Invisible timeline/graph should not be drawn, as most inputs are invalid - Fixed #1521: Prevent items from staying stuck to the left side of the viewport. - Fixed #1592: Emit a "changed" event after each redraw. - Fixed #1541: Timeline and Graph2d did not load synchronously anymore. ### Graph2d - Major redesign of data axis/scales, with large focus on creating a sane slave axis setup - Cleanup of linegraph's event handling. - Fixed #1585: Allow bar groups to exclude from stacking - Fixed #1580: Invisible timeline/graph should not be drawn, as most inputs are invalid - Fixed #1177: Fix custom range of slaved right axis. - Fixed #1592: Emit a "changed" event after each redraw. - Fixed #1017: Fixed minWidth behavior for bars. - Fixes #1557: Fix default axis formatting function. - Fixed #1541: Timeline and Graph2d did not load synchronously anymore. - Fixed a performance regression ## 2016-01-08, version 4.12.0 ### Timeline - Fixed #1527: error when creating/updating a Timeline without data. - Fixed #1127: `doubleClick` event not being fired. - Fixed #1554: wrong cursor on readonly range items. ### Network - Fixed #1531, #1335: border distances for arrow positioning - Fixed findNode method. It now does not return internal objects anymore. - Fixed #1529, clustering and declustering now respects the original settings of the edges for physics and hidden. - Fixed #1406, control nodes are now drawn immediately without a second redraw. - Fixed #1404, made the array returned by findNode match the docs. - Added #1138, enable the user to define the color of the shadows for nodes and edges. - Fixed #1528, #1278, avoided ID's being cast to string for methods that return ID's as well as storePositions casting to string. - Fixed upscaling when the window size increases. - Accepted pull request #1544, thanks @felixhayashi! - Fixed documented bug in #1544. ## 2015-12-18, version 4.11.0 ### Network - Expose `setSelection` method. Thanks @zefrog. ### Timeline - Fixed #1441: Height of subgroups not immediately updated after updating data in a DataSet or DataView. - Fixed #1491: Problem using ctrl+drag in combination with using a `DataView`, and an issue with ctrl+drag when using `snap: null`. - Fixed #1486: Item range sometimes wrongly calculated on IE in case of old dates. - Fixed #1523: end of data range wrongly determined. ### Graph2d - Large refactoring of Graph2d code base: - Implemented a new option for `shaded.orientation` to always shade towards zero. - Implemented a new option for `shaded.orientation` to follow another group (fill in between) - Implemented line-graph stacking - Fixed support for using a `DataView` in Graph2d. - Implemented a new zindex option for controlling svg rendering order. - Performance updates and fixes ### DataSet - Fixed #1487: DataSet cannot remove an item with id `0` correctly. ### DataView - Added the map() function from DataSet. ## 2015-11-27, version 4.10.0 ### General - Fixed #1353: Custom bundling with browserify requiring manual installation of `babelify`. ### Network - Implemented new method `setSelection({nodes:[...], edges: [...]})`. Thanks @zefrog. - Fixed #1343: Connected edges are now deselected too when deselecting a node. - Fixed #1398: Support nodes start with the correct positions. - Fixed #1324: Labels now scale again. - Fixed #1362: Layout of hierarchicaly systems no longer overlaps NODES. - Fixed #1414: Fixed color references for nodes and edges. - Fixed #1408: Unclustering without release function respects fixed positions now. - Fixed #1358: Fixed example for clustering on zoom. - Fixed #1416: Fixed error in improvedLayout. - Improvements on hierarchical layout. ### Timeline - Implemented option `itemsAlwaysDraggable`, See #1395. Thanks @liuqingc. - Implemented option `multiselectPerGroup`. Thanks @hansmaulwurf23. - Implemented property `oldData` on change events of the DataSet, and deprecated the `data` property which wrongly contained new data instead of old data. Thanks @hansmaulwurf23. - Implemented option `maxMinorChars` to customize the width of the grid. - Expose `vis.timeline.Core` for customization purposes. - Fixed #1449, #1393: text of minor grids sometimes not being drawn. ### Graph2d - Fixed #1385: Draw lines on top of bars. - Fixed #1461 and #1345: Reset order of SVG elements in legend icons. ### DataSet/DataView - Performance improvements (see #1381). Thanks @phimimms. ## 2015-10-01, version 4.9.0 ### Network - Fixed bug where an edge that was not connected would crash the layout algorithms. - Fixed bug where a box shape could not be drawn outside of the viewable area. - Fixed bug where dragging a node that is not a control node during edit edge mode would throw an error. - Made auto scaling on container size change pick the lowest between delta height and delta width. - Added images with borders option (useBorderWithImage) - Updated the manipulation css to fix offset if there is no separator. ### Timeline - Fixed #1326: wrongly positioned dot of PointItems. - Fixed #1249: option `hiddenDates` not accepting a single hidden date. - Fixed a bug when pinching and using hidden dates. Thanks @lauzierj. ## 2015-09-14, version 4.8.2 ### Network - Fixed Phantom Edges during clustering. - Fixed scaling not doing anything to edges. - Fixed setting font to null so the network won't crash anymore. - Fixed stabilized event not firing if layout algorithm does very well. - Fixed arrows with some shapes when they are selected. #1292 - Fixed deletion of options by settings them to null. ## 2015-09-07, version 4.8.1 ### Network - Added German (de) locale. Thanks @Tooa. - Fixed critical camera zoom bug #1273. - Fixed unselectAll method. #1256 - Fixed bug that broke the network if drawn in a hidden div #1254 ### Timeline - Fixed #1215: inconsistent types of properties `start` and `end` in callback functions `onMove`, `onMoving`, `onAdd`. ## 2015-08-28, version 4.8.0 ### Timeline - Implemented reordering groups by dragging them vertically. Thanks @hansmaulwurf23. ### Network - Added Spanish (es) locale. Thanks @gomezgoiri. - Added support for labels in edges and titles for both nodes and edges during gephi import. - Added KamadaKawai layout engine for improved initial layout. - Added Adaptive timestep to the physics solvers for increased performance during stabilization. - Added improvedLayout as experimental option for greatly improved stabilization times. - Added adaptiveTimestep as experimental option for greatly improved stabilization times. - Added support for Gephi directed edges, edge labels and titles. - Improved the positioning and CSS of the configurator and the color picker. - Greatly improved performance in clustering. - Made the network keep its 'view' during a change of the size of the container. - Fixed #1152, updating images now works. - Fixed cleaning up of nodes. - Fixed dynamic updating of label properties. - Fixed bugs in clustering algorithm. - Fixed find node return types. - Fixed bug where stabilization iterations were counted double. If it looks like the stabilization is slower, its because it is doing twice the amount of steps it did before. - Fixed getPositions return values. ## Graph2d - Implemented configuration option `excludeFromLegend`. Thanks @Bernd0. ## 2015-07-27, version 4.7.0 ### Timeline - Fixed #192: Items keep their group offset while dragging items located in multiple groups. Thanks @Fice. - Fixed #1118: since v4.6.0, grid of time axis was wrongly positioned on some scales. ### Network - Added moveNode method. - Added cubic Bezier curves. ## 2015-07-22, version 4.6.0 ### Timeline - Implemented #24: support for custom timezones, see configuration option `moment`. ### Graph2d - Implemented #24: support for custom timezones, see configuration option `moment`. ### Network - Fixed #1111, check if edges exist was not correct on update. - Fixed #1112, network now works in firefox on unix again. - Added #931, borderRadius in shapeProperties for the box shape. - Added #936, useImageSize for images and circularImages ## 2015-07-20, version 4.5.1 ### Network - Fixed another clustering bug, phantom edges should be gone now. - Fixed disabling hierarchical layout. - Fixed delete button when using multiple selected items in manipulation system. ## 2015-07-17, version 4.5.0 ### General - Docs have been greatly improved thanks to @felixhayashi! Thanks a lot! ### Network - Added shapeProperties, thanks @zukomgwili! - Added configChange event. - Properly fixed the _lockedRedraw method. - Fixed node resizing on dragging. - Fixed missing edges during clustering. - Fixed missing refresh of node data when changing hierarchical layout on the fly. - Fixed hover and blur events for edges. ### Graph3d - Fixed not changing `backgroundColor` when not provided in options. Thanks @ozydingo. ### Timeline - Implemented support for group templates (#996). Thanks @hansmaulwurf23. - Implemented option `zoomKey` for both Timeline and Graph2d (see #1082). Thanks @hansmaulwurf23. - Fixed #1076: Fixed possible overlap of minor labels text on the TimeAxis. - Fixed #1001: First element of group style being cut. - Fixed #1071: HTML contents of a group not cleared when the contents is updated. - Fixed #1033: Moved item data not updated in DataSet when using an asynchronous `onMove` handler. - Fixed #239: Do not zoom/move the window when the mouse is on the left panel with group labels. ## 2015-07-03, version 4.4.0 ### General - Documentation now has breadcrums. Thanks @felixhayashi! ### Graph3d - Fixed #970: Implemented options `dataColor`, `axisColor`, and `gridColor`. ### Network - Fixed Hammerjs direction issue. - Fixed recursion error when node is fixed but has no position. - Fixed accidental redrawing during stabilization. - Fixed delete callbacks with null argument not showing toolbar afterwards. - Added zoom events from keyboard and navigation buttons. - No longer start stabilization with an empty node set. - Fixed #974 connecting static smooth and straight edges. - Improved handling of empty image field. - Fixed #987 proper cleaning of support nodes. - Fixed static smooth edges not fully working from every angle. - Fixed updating bounding box of nodes without drawing. - Fixed #1036, bug in lockedRedraw. Thanks @vges! - Added getDataset to all manipulation functions. Thanks @ericvandever! - Fixed #1039, icon now returns correct distance to border - Added blurEdge and hoverEdge events. - Added labelHighlightBold option to edges and nodes. - Added getOptionsFromConfigurator method. - Fixed extra edges in clustering. - Fixed cleaning up of clustering edges on declustering. - Made fit() method only look at visible nodes to get the range. ### Graph2d - Made graph2d more robust against string values in the y position. - Fixed bug where 0 axis was always in the automatically fitted range. - Added drawPoints.onRender. Thanks @mschallar! ### Timeline - Fixed cleaning up of items in subgroups, thanks @ChenMachluf! - Improved error notification with groups, thanks @skinkie! ## 2015-06-16, version 4.3.0 ### General - Fixed #950: option `locales` broken in `Timeline`, `Graph2d`, and `Network`. - Fixed #964: `Timeline`, `Graph2d`, and `Network` not working on IE9. ### Graph2d - Fixed #942, #966: bug when data is empty. ### Timeline - Implemented `editable` option for individual items. Thanks @danbertolini. ### Network - Fixed dragStart event to give the correct node information. ## 2015-06-05, version 4.2.0 ### General - Fixed #893, #911: the `clickToUse` option of Network, Graph2d, and Network was blocking click events in the web page. ### Timeline - Added axis orientation option `'none'`. - Added a property `event` to the properties emitted with the `select` event (see #923). - Improved function `fit()` to take into account the actual width of items. - Fixed #897: Timeline option `{snap: null}` did give a validation error. - Fixed #925: Event `timechanged` did not fire when mouse has been moved outside the timeline. ### Graph2D - Fixed #892, addressed any case in validator. - Fixed #898, lines are not taken into account for stacking. ### Network - Improved robustness against people molesting the Function.prototype.bind() - Fixed few functions including storePositions(). - Added beginnings of unit testing for network. - Fixed #904, correctly parsing global font options now. - Fixed dataView support for storePositions. - Second click on node is no longer unselect. - Added releaseFunction to openCluster. - Fixed bug where the network could flicker when the pixelRatio is not integer. - Added enabled property to physics. - Fixed #927, dragStart event didn't contain node that was being dragged ## 2015-05-28, version 4.1.0 ### Network - Fixed #866, manipulation can now be set to false without crashing. - Fixed #860, edit node mode now works as it should. - Fixed #859, images now resize again when they are loaded. - Fixed dynamic edges not correctly handling non-existent nodes. - Accepted pull from @killerDJO for fixing selected and hover colors for edges. - Fixed bug with right mouse button, scroll center and popup positions using the wrong coordinates. - Fixed click to use. - Fixed getConnectedEdges method. - Fixed clustering bug. - Added getNodesInCluster method. - Renamed editNodeMode to editNode, editNodeMode now give a deprecation log message. - Added multiselect to the docs. - Removed deprecated dynamic entree, allow any smooth curve style for hierarchical layout. - Fixed bug with the moveTo and getViewPosition methods. - Fixed #861, brokenImage only working for one node if nodes have the same image. - Fixed hoverNode and blurNode events and added them to the docs. - Fixed #884, selectNode event. - Fixed dynamic setting hidden and physics. - Fixed edit node mode's fallback. ### Graph2d & Timeline - Fixed #858, #872, fixed usage of deprecated `unsubscribe` from DataSet. - Fixed #869: Add className with id to custom time bars - Fixed #877: Added support for metaKey to select multiple items. ## 2015-05-22, version 4.0.0 ### General - Changed the build scripts to include a transpilation of ES6 to ES5 (using http://babel.org), so we can use ES6 features in the vis.js code. When creating a custom bundle using browserify, one now needs to add a transform step using `babelify`, this is described in README.md. ### Timeline - Integrated an option configurator and validator. - Implemented option `multiselect`, which is false by default. - Added method `setData({groups: groups, items: items})`. - Fixed range items not being displayed smaller than 10 pixels (twice the padding). In order to have overflowing text, one should now apply css style `.vis.timeline .item.range { overflow: visible; }` instead of `.vis.timeline .item.range .content { overflow: visible; }`. See example 18_range_overflow.html. - Fixed invalid css names for time axis grid, renamed hours class names from `4-8h` to `h4-h8`. - Deprecated option `showCustomTime`. Use method `addCustomTime()` instead. - Deprecated event `finishedRedraw` as it's redundant. - Renamed option `animate` to `animation`, and changed it to be either a boolean or an object `{duration: number, easingFunction: string}`. - Fixed #831: items losing selection when their type changed. ### Graph2d - New option structure. - Cleaned up docs. - Fixed #628: stacking order. - Fixed #624: sorting order. - Fixed #616: stacking with negative bars. - Fixed #728: alignment issues. - Fixed #716: Height of graph `2px` too large when configuring a fixed height. ### Network The network has been completely rewritten. The new modular setup using ES6 classes makes it future proof for maintainability, extendability and clarity. A summary of new features: - New examples, categorized by topic. - New docs. - New option structure, adhering to the modular setup on the backend. - New events for user interaction. - New render events for drawing custom elements on the canvas. - New physics events for making a loading bar during stabilization. - A lot of new methods that make extending easier. - Manipulation system now works without the UI neccesarily. - Nodes and edges can cast shadows. - Configurator system to dynamically change almost all options. - Validator has been created for the network's options, warning you about typo's and suggesting alternatives. - Diamond shape for nodes. - Unified the label code so edges and nodes have the same label settings. - InheritColors for edges can be set to both, making a gradient fade between two node colors. - Redesigned the clustering system giving full control over it. - Random seed can be saved so the network will be the same every time you start it. - New physics solver based on ForceAtlas2 as implemented in gephi.] - New avoidOverlap option for physics. - Many, many bugfixes. ### DataSet - Dropped support for Google visualization DataTable. - Dropped support for appending data returned by `DataSet.get()` to an existing Array or DataTable. ## 2015-04-07, version 3.12.0 ### Network - Fixed support for DataSet with custom id fields (option `fieldId`). ### Timeline - Orientation can now be configured separately for axis and items. - The event handlers `onMove` and `onMoving` are now invoked with all item properties as argument, and can be used to update all properties (like content, className, etc) and add new properties as well. - Fixed #654: removed unnecessary minimum height for groups, takes the height of the group label as minimum height now. - Fixed #708: detecting wrong group when page is scrolled. - Fixed #733: background items being selected on shift+click. ## 2015-03-05, version 3.11.0 ### Network - (added gradient coloring for lines, but set for release in 4.0 due to required refactoring of options) - Fixed bug where a network that has frozen physics would resume redrawing after setData, setOptions etc. - Added option to bypass default groups. If more groups are specified in the nodes than there are in the groups, loop over supplied groups instead of default. - Added two new static smooth curves modes: curveCW and curve CCW. - Added request redraw for certain internal processes to reduce number of draw calls (performance improvements!). - Added pull request for usage of Icons. Thanks @Dude9177! - Allow hierarchical view to be set in setOptions. - Fixed manipulation bar for mobile. - Fixed #670: Bug when updating data in a DataSet, when Network is connected to the DataSet via a DataView. - Fixed #688: Added a css class to be able to distinguish buttons "Edit node" and "Edit edge". ### Timeline - Implemented orientation option `'both'`, displaying a time axis both on top and bottom (#665). - Implemented creating new range items by dragging in an empty space with the ctrl key down. - Implemented configuration option `order: function` to define a custom ordering for the items (see #538, #234). - Implemented events `click`, `doubleClick`, and `contextMenu`. - Implemented method `getEventProperties(event)`. - Fixed not property initializing with a DataView for groups. - Merged add custom timebar functionality, thanks @aytech! - Fixed #664: end of item not restored when canceling a move event. - Fixed #609: reduce the left/right dragarea when an item range is very small, so you can still move it as a whole. - Fixed #676: misalignment of background items when using subgroups and the group label's height is larger than the contents. ### Graph2d - Implemented events `click`, `doubleClick`, and `contextMenu`. - Implemented method `getEventProperties(event)`. ### DataSet/DataView - Implemented support for mapping field names. Thanks @spatialillusions. - Fixed #670: DataView not passing a data property on update events (see #670) ## 2015-02-11, version 3.10.0 ### Network - Added option bindToWindow (default true) to choose whether the keyboard binds are global or to the network div. - Improved images handling so broken images are shown on all references of images that are broken. - Added getConnectedNodes method. - Added fontSizeMin, fontSizeMax, fontSizeMaxVisible, scaleFontWithValue, fontDrawThreshold to Nodes. - Added fade in of labels (on nodes) near the fontDrawThreshold. - Added nodes option to zoomExtent to zoom in on specific set of nodes. - Added stabilizationIterationsDone event which fires at the end of the internal stabilization run. Does not imply that the network is stabilized. - Added freezeSimulation method. - Added clusterByZoom option. - Added class name 'network-tooltip' to the tooltip, allowing custom styling. - Fixed bug when redrawing was not right on zoomed-out browsers. - Added opacity option to edges. Opacity is only used for the unselected state. - Fixed bug where selections from removed data elements persisted. ### Timeline - `Timeline.redraw()` now also recalculates the size of items. - Implemented option `snap: function` to customize snapping to nice dates when dragging items. - Implemented option `timeAxis: {scale: string, step: number}` to set a fixed scale. - Fixed width of range items not always being maintained when moving due to snapping to nice dates. - Fixed not being able to drag items to an other group on mobile devices. - Fixed `setWindow` not working when applying an interval larger than the configured `zoomMax`. ### DataSet/DataView - Added property `length` holding the total number of items to the `DataSet` and `DataView`. - Added a method `refresh()` to the `DataView`, to update filter results. - Fixed a bug in the `DataSet` returning an empty object instead of `null` when no item was found when using both a filter and specifying fields. ## 2015-01-16, version 3.9.1 ### General - Fixed wrong distribution file deployed on the website and the downloadable zip file. ### Network - Fixed bug where opening a cluster with smoothCurves off caused one child to go crazy. - Fixed bug where zoomExtent does not work as expected. - Fixed nodes color data being overridden when having a group and a dataset update query. - Decoupled animation from physics simulation. - Fixed scroll being blocked if zoomable is false. ## 2015-01-16, version 3.9.0 ### Network - Reverted change in image class, fixed bug #552 - Improved (not neccesarily fixed) the fontFill offset between different browsers. #365 - Fixed dashed lines on firefox on Unix systems - Altered the Manipulation Mixin to be succesfully destroyed from memory when calling destroy(); - Improved drawing of arrowheads on smooth curves. #349 - Caught case where click originated on external DOM element and drag progressed to vis. - Added label stroke support to Nodes, Edges & Groups as per-object or global settings. Thank you @klmdb! - Reverted patch that made nodes return to 'default' setting if no group was assigned to fix issue #561. The correct way to 'remove' a group from a node is to assign it a different one. - Made the node/edge selected by the popup system the same as selected by the click-to-select system. Thank you @pavlos256! - Improved edit edge control nodes positions, altered style a little. - Fixed issue #564 by resetting state to initial when no callback is performed in the return function. - Added condition to Repulsion similar to BarnesHut to ensure nodes do not overlap. - Added labelAlignment option to edges. Thanks @T-rav! - Close active sessions in dataManipulation when calling setData(). - Fixed alignment issue with edgelabels ### Timeline - Added byUser flag to options of the rangechange and rangechanged event. ## 2015-01-09, version 3.8.0 ### General - Updated to moment.js v2.9.0 ### Network - Fixed flipping of hierarchical network on update when using RL and DU. - Added zoomExtentOnStabilize option to network. - Improved destroy function, added them to the examples. - Nodes now have bounding boxes that are used for zoomExtent. - Made physics more stable (albeit a little slower). - Added a check so only one 'activator' overlay is created on clickToUse. - Made global color options for edges overrule the inheritColors. - Improved cleaning up of the physics configuration on destroy and in options. - Made nodes who lost their group revert back to default color. - Changed group behaviour, groups now extend the options, not replace. This allows partial defines of color. - Fixed bug where box shaped nodes did not use hover color. - Fixed Locales docs. - When