Fixes#3532
If the images option is set, preload it, even if the node shape is not `image` or `circularImage`.
This needs to be done because the user can switch to an image shape later, as is happening in the issue.
Option `image` is only mandatory for the image shapes.
There is no unit test for this, because it would need a mock object for Image and I didn't succeed in creating/finding one.
* Small refactoring in Label._drawBackground()
* Added size calculation to Label, basic framework for detecting click on label.
* First fully working version of label click.
* Put in extra checks, refactored visibility of labels for more general usage.
* Final fixes to code; added to example and in docs
* Adressed review comments
* Add next attempt to fix Travis unit test bug
* Addressed review issues
* The next fix on Travis unit test failure
This is the next escalation on the war against the Travis unit tests failing (which came into being by yours truly).
By accident, I could recreate the unit test failure on my development machine. This led to a more directed effort to
squash the bug.
The insight here is that test `(window === undefined)` fails, but `(typeof window === 'undefined`)` succeeds. This undoubtedly has to do with the special status `window` has as a global object.
Changes:
- Added check on presence of `window` in `Canvas._requestNextFrame()`, fixed local source errors.
- Added catch clause in `CanvasRendered._determinePixelRatio()`
- small fix: raised timeout for the network `worldCup2014` unit test
* Preliminary refactoring in utils.js
* Added unit tests for extend routines, commenting and small fixes
* More unit tests for extend routines
* - Completed unit tests for extend routines in
- Small fixes and cleanup in `util.js`
- Removed `util.protoExtend()`, not used anywhere
* Added unit tests for known font options
* Interim save before trying out another proto chain strategy
* Fixed problem in first example #3408
* Removed silly file that shouldn't be there
* Added unit test for multi-fonts
* Comment edits
* Verufy unit tests, small adjustments for groups
* Further work on getting unit tests to work. PARTS NEED TO BE CLEANED UP!
* Further tweaks to get unit tests working
* All unit tests passing
* Fixes due to linting
* Small edits
* Removed prototype handling from font pile
* Fixes during testing examples of #3408
* Added unit test for edge labels, small fixes
* Added unit tests for shorthand string fonts; some tests still failing
* All unit tests pass
* Removed Label.parseOptions()
* Completed shorthand font tests, code cleanup, fixed choosify for edges
* Addressed review comments
* Addressed review comments, cleanup
* added hexagon shape to the node.
* Updated function for hexagon shape.js
* Modifid the shape login for hexagon
* Remove this.translate from the Shape.js for hexagon
* updated hexagon draw logic
* Fixed code review comments and update the branch
* Updated changes in test.js
* Corrects usage of @static jsdoc annotation
* Correct unresolvable types
* Correct types in jsdoc and remove extraneous @class & @constructor jsdoc
* Remove incorrect @static jsdoc
* Adds missing jsdoc for param copyFromGlobals
* correct jsdoc in util
* Corrects casing on jsdocs
* Swaps @inheritDoc to @ignore for constructors where constructor args are documented in the class
* Instantiates Errors with `new`
* Addresses improperly defined @callback tags.
* Split callbacks out to separate jsdoc
* Moves constructor jsdocs back to constructor and drop @ignore.
* Added commenting for options, refactored choosify()
* Refactored updateLabelModule()
* added comment at node creation
* Completed fix for #3350
* parseOptions() different handling for bridged/extended; unit tests for reversal of options
* Fixes on linting and unit testing
* Enables require MethodDefinition for require-jsdoc lint rule and corrects 66% of missing Method Definitions
* Adds jsdoc for all remaining methods and corrects @class/@constructor documentation
* Define values more accurately
* Correct bugs that prevent jsdoc generation
* Makes network eslint compliant
Unused variables in private functions, who were never called internally with those arguments were removed.
lint rule was disabled for public functions, and in private functions which were called internally with those unused arguments
* Disables linting for unused args passed into DataSet and DataView
* Update hierarchy when node level changes
Fix for #3220
On change of data of an existing node, the level is checked for changes.
If changed, for a recalculation of the hierarchical layout.
The fix does not explicitly check for hierarchical layout; this should not be a problem.
The added code can be used to add further node fields which may trigger recalculation of layout.
* Changes due to review
* 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
* 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
* 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.
* 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
Node labels don't currently make use of the 'align' property, so this reuses
the existing property.
The label code has a number of alignment options that make sense to edges only,
so the Edge/Node now passes a boolean to the Label ctor to explain which the label
is being rendered for