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.
* 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
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.
* 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
* 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
* 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.
* Reduce the time-complexity of the network initial positioning. Very substantial performance gain for large graphs.
* Remove unwanted console messages, extended comment.
* maximum width constraints must be violated by long words. Fixes#2604.
* chore: moved examples/network/_tests/maximumWidthEdgeCase.html to test/network/
* self reference edge should now appear in all cases
* add checks for shape width being NaN to get correct circle data
* reorder resize arguments in Diamond, Dot and Star
* fix#2613 with if statement, and null for pointer value rather than referencing it when undefined
* removed if statement, since not needed, and updated documentation to note the null pointer property in certain conditions.
* Added HTML tooltip support for Timeline
* Fixed tooltip position on Firefox
* Added Timeline tooltip example
* Updated tooltip location to be next to the mouse
* Added HTML element to example
* element characteristic changes
* assume edge color inheritance is correct before choosing
* Adjust nodes’ chosen’s boolean -> bool
* Need to get user-reset size
* make example edges thicker for more noticeable shadow
* preemptive ES6 fix (see #2500/#2501)
* documentation for the feature that was previously overwritten
* Should fix issue #2100 and fix another issue we discovered around clusterByConnection leaving phantom edges.
* fixed a wrong variable name
* fixed DataView.test.js assert
* Update Canvas.js
* remove whitespace; remove end of file newline on Canvas.js
* strip end of file newlines
* fixed styling. spacing, semicolons, line length