Code in the `_line()` of the sibling Bezier edge types was either extremely similar or identical.
The Bezier drawing code has been consolidated in a single method in the parent class.
This method is needlessly complicated. Code has been adjusted to better show the intent.
In addition:
- reuse of variables already present, notably `dx` and `dy`
- put recurring code fragments into local variables
- removed second conditions in constructs of the form `if (condition) ... else if (!conditioni) ...`
The refactoring can be taken further, but it would change the conditional flow, which would complicate reviewing.
The current changes highlight the similarities between the code blocks.
* Consolidate code for determining the pixel ratio
* - Removed local param 'pixerRatio' from CanvasRenderer. Now only canvas.pixelRatio is used.
- consolidated ctx.transform() calls in Canvas
- Added/edited commenting (also TODO's)
- Added Canvas.getContext()
Fix for #3036
Option `smooth.type: dynamic` is not allowed for hierarchical layouts.
This was handled properly for the main options, but not for the node-specific options.
Options within node instances arei now checked for `smooth.type: dynamic` and replaced
by `horizontal` or `vertical`. The implementation adds listener `_adjustEdgesForHierarchicalLayout`
in `LayoutHandler`. This listener must be activated every time noder- specific options might change.
This happens in the logical places within `EdgeHandler`.
* Protect Network from zero and negative mass values
Fix for #3133
Option-field 'node.mass` must be >= 0.
Checks have been added at the nodes level, for both nodes-global and nodes specific options.
In addition, an internal check has been added for `NodeHandler.defaultOptions`.
The documentation has been adjusted for this change.
* Fix whitespace
* Prevent crashes from invalid id's in `Clustering.findNode()`
Fix for #3163
- Added safeguards in said method, to prevent exceptions happening when invalid id's are passed in.
- Adjusted documentation for said method
- Added notes to flag unused methods in `Clustering.js`
* Removed incorrect NOTE-comments from methods that are indeed used
* First working version of new class DataGroup.
* Adjustments for review - done all points except last
* DRY distinct values, clean up sort code
* Added missing @param's to comments in DataGroup
Call on issue brought to light by #2990.
`ctx` should not be passed as a parameter to the call - not needed and not conform to documentation.
Also cleaned up the calling code to remove the double `fontOptions.chooser()` call.
* Add support for multiple class names in utils add/remove class methods.
Reset subgroup heights in resetSubgroups method.
* Adjust to better process class names
* Add 'showTooltips' timeline option
* Only show timeline popup if option showTooltips is true
* Add 'showTooltips' option to timeline docs
* Add tooltips disabled timeline example
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Improve redraw performance by not restacking non-visible groups (related to #2835)
* only restack necessary groups on redraw (related to #2835)
* replacing all ES6 imports with CJS require calls
resolves#2934
used the following regex to apply the changes in lib:
s/import\s+(\w+)\s+from\s+(.*);\s*$/var $1 = require($2).default;/
s/import\s+(\w+)\s+from\s+(.*)\s*$/var $1 = require($2).default;/
* cleaning up inconsistencies
Sorry for the delay on this... It took me a while to confirm this PR again. I don;t know why I didn't merge it at the time I reviewed it. Looks great to me!
* CachedImage with preredendered zoom images; first working version.
* Fixes for missing images and usage brokenImage.
* Remove unused method
* Added height member of CachedImage, note about svg's
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Fix item click and doubleclick
* Remove new empty line
* Return id of item tapped
* Fix comments from Review
* Add missing semicolon
* Add Gitter badge (#2179)
* do not generate source-maps in distribution version
* add 'dist' folder for deployment
* added Badges
* added codeclimate badge
* added @Tooa to the support team
* added badges from isitmaintained.com (#2517)
* do not ignore dist and test folders in master
* generated dist files for v4.18.0
* generated dist files for v4.18.1
* Cheap fix for bug #2795
* Update to PR #2826 to use newline format
* changed to v4.18.1-SNAPSHOT
* chore(docs): general improvements (#2652)
* removed NOTICE file
* updated license date range to include 2017
* chore(docs): updated support team members
* chore: updated dependencies and devDependencies (#2649)
* Fixes instanceof Object statements for objects from other windows and iFrames. (#2631)
* Replaces instanceof Object checks with typeof to prevent cross tab issues.
* Adds missing space.
* chore: removed google-analytics from all examples (#2670)
* chore(docs): Add note that PRs should be submitted against the `develop` branch (#2623)
Related to: https://github.com/almende/vis/pull/2618
Related to: https://github.com/almende/vis/pull/2620
* feat(timeline): Change setCustomTimeTitle title parameter to be a string or a function (#2611)
* change setCustomTimeTitle title parameter, Now could be an string or a function
* Fixed indent and spacing
* feat(timeline): refactor tooltip to only use one dom-element (#2662)
* feat(network): Allow for image nodes to have a selected or broken image (#2601)
* feat(tests): run mocha tests in travis ci (#2687)
* Added showX(YZ)Axis options to Graph3d (#2686)
* Added showX(YZ)Axis to Graph3d
* Added show_Axis options to docs and playground example
* Resolved merge conflict
* Added show_Axis options to docs and playground example
* fix(build): use babel version compatible with webpack@1.14 (#2693)
fixes#2685
* feat(docs): use babel preset2015 for custom builds (#2678)
* add link to a mentioned example (#2709)
* chore(lint): added support for eslint (#2695)
* Trivial typo fix in how_to_help doc. (#2714)
* fix(timeline): #2598 Flickering onUpdateTimeTooltip (#2702)
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Add animation to onUpdateTooltip
* fix(timeline): #778 Tooltip does not work with background items in timeline (#2703)
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Make items z-index default to 1
* Add initial tests for Timeline PointItem (#2716)
* fix(timeline): #2679 TypeError: Cannot read property 'hasOwnProperty' of null (#2735)
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Fix bug in item editable
* feat(timeline): #2647 Dynamic rolling mode option (#2705)
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Add toggleRollingMode option
* Update docs with toggleRollingMode option
* fixes timestep next issue (#2732)
* feat(timeline): added new locales for french and espanol (#2723)
* Fix eslint problem on Travis. (#2744)
* fix: Range.js "event" is undeclared (#2749)
* fix(timeline): #2720 Problems with option editable (#2743)
Clean up and centralise edit status for Timeline Items.
* feat(network): Improve the performance of the network layout engine (#2729)
* Improve the performance of the network layout engine
Short-cut the execution of a number of methods in LayoutEngine to make them
handle highly-connected graphs better.
* Demonstrations of layouts of large networks
* Added support to supply an end to bar charts to have them scale (#2760)
* Added support to supply an X2 to bar charts to have them scale
* Fixed graph2d stacking issue. It no longer takes into account hidden items
* Changed x2 to end per recommendation and added this to the docs
* Initial tests for timeline ItemSet. (#2750)
Somewhat more complicated setup, associated with the need for a real window.
* [Timeline] Modify redraw logic to treat scroll as needing restack. (#2774)
This addresses #1982 and #1417.
It possibly reduces performance, but correctness seems better.
* fix(timeline): #2672 Item events original event (#2704)
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Fix events returned from mouse events
* Fix example
* Rename censor to stringifyObject in example
* [timeline] Update examples to use ISOString format. (#2791)
Resolves#2790
* [timeline] Update serialization example to use ISOString dates. (#2789)
Resolves#2696
* added github templates for issues and pull-requests (#2787)
fixes#2418
* feat(timeline): Add item data as argument to the template function (#2799)
* Fix regression introduced in #2743. (#2796)
* Fix for issue #2536 (#2803)
* Fix for issue #2536
* Adjusted documentation for fix.
* Adjustments due to review
* Grrrrr whitespace
* Fixed Travis issue
* Cheap fix for bug #2795
* Update to PR #2826 to use newline format
* Update to gitignore to reflect changes on remote
* clean dist folder
* Local gitignore update
* Just a first example file for the week scale feature
* Allowing sourcemap creation
* Initial (non-functional) commit to ensure we insert code at the right places (check TODOs)
* Functional, not bug-free version which works with locale aware week numbers.
* Locale-aware implementation and simplified major labels to a full year
* Trying to make the major labels show the correct start date
* Working implementation of week numbers using localization.
* removing development leftovers
* Updated package.json
* Reintagrate package.json from accidental deletion
* Updates for package.json
* Fixing package.json
* Integrate the week numbers feature in the documentation.
* Reverting local changes to .gitignore
* Reverting local changes
* Extending examples to cover the case when 1st day of week and 1st day of month align; Fixing display bug so that week numbers are not repeated in minorLabels
* Putting the examples into a loop
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Add pausing of rangechanged in scroll
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Make selectiveExtend accept null/undefined parameters
* Network: use separate refresh indicator in NodeBase, instead of width parameter
* Added usage of iBaseNode.doRefresh to image shapes.
* Rearranged code in NodeBase.needRefresh()
* Fixes for review
* Removed strange link
* Added 's' in needsRefresh(); typo fix
* Fixes for review, code cleanup
* Modified ratio calc to original working.
* Made code in CircularImage.resize() more sensible.
* Fix redraw order
* Fix error when option is not defined
* Allow template labels
* Add .travis.yml file
* Add experiment travis code
* Fix react example
* Add drop event info