5.0.0
This release adds new functionality around expanding and collapsing related entities in Network Graph related components. We've moved the @senzing/sdk-graph-components
to the scope of this package for easier maintenance and installation(now you just need this package instead of two). We're also adding the Why Not component that can be embedded between two or more entities to generate a report to show why two entities/records did not resolve.
2022-07-07.10-56-17.mp4
Added
- The
SzWhyEntitiesComparisonComponent
added for doing WHY comparison between entities. Adds the ability to run "Why Not" Reports from within the context of the search results and graph. - The following input parameters added to
SzSearchResultsComponent
:showWhyComparisonButton
enables a multi-select button behavior for search results that when clicked allows a user to click to toggle selection of an entity in the results then click the button to show a WHY NOT report for differences between those two entities.
- The follwing getters and setters added to
SzEntityDetailComponent
showGraphContextMenu
enables the built-in context menu for entity nodes on the graph embedded in the entity detail component.showGraphLinkContextMenu
enables the built-in context menu for relationship lines/labels on the graph embedded in the entity detail component.graphMatchKeyTokenSelectionScope
possible values are "CORE" and "EXTRANEOUS". core sets the scope of match key token filtering to just entities directly related to the focused/primary entity of the graph. defaults toEXTRANEOUS
.
- The following Event Emitters added to
SzEntityDetailComponent
graphRelationshipContextMenuClick
is emitted when a user right clicks on relationship lines/labels in the embedded graph component.graphRelationshipClick
is emitted when a user clicks on relationship lines/labels in the embedded graph component.
- The following properties added to
SzGraphComponent
and are inheirited bySzStandaloneGraphComponent
andSzEntityDetailGraphComponent
.matchKeyTokenSelectionScope
possible values are "CORE" and "EXTRANEOUS". core sets the scope of match key token filtering to just entities directly related to the focused/primary entity of the graph. defaults toEXTRANEOUS
.
- The following methods added to
SzGraphComponent
and are inheirited bySzStandaloneGraphComponent
andSzEntityDetailGraphComponent
.canRemoveNode(entityId: SzEntityIdentifier)
returns boolean if an entity on canvas can be removed(root nodes, and primary query nodes cannot).canExpandNode(entityId: SzEntityIdentifier)
returns boolean if a node has hidden related entities that can be shown on canvas.removeNode(entityId: SzEntityIdentifier)
removes a single node and any directly related nodescollapseNode(entityId: SzEntityIdentifier)
hide all visible(expanded) entities related to a specific entity that are themselves not related to any other visible entities.expandNode(entityId: SzEntityIdentifier)
show any entities that are related to a specific entity that are currently not on the canvas.
- The following event emitters added to
SzGraphComponent
relationshipContextMenuClick
is emitted when a user right clicks on relationship lines/labels in the embedded graph component.relationshipClick
is emitted when a user clicks on relationship lines/labels in the embedded graph component.
- The following methods added to
SzEntityDetailComponent
isGraphEntityRemovable(entityId: SzEntityIdentifier)
can a specific entity node be removed from canvas.showGraphEntityRelationships(entityId: SzEntityIdentifier)
show any entities that are related to a specific entity that are currently not on the canvas.hideGraphEntityRelationships(entityId: SzEntityIdentifier)
hide all visible(expanded) entities related to a specific entity that are themselves not related to any other visible entities.hideGraphEntity(entityId: SzEntityIdentifier)
remove single node and any directly related nodes that are only related to the entity specified.
SzRelationshipNetworkComponent
moved from@senzing/sdk-graph-components
SzRelationshipNetworkInputComponent
moved from@senzing/sdk-graph-components
SzRelationshipNetworkLookupComponent
moved from@senzing/sdk-graph-components
SzRelationshipPathComponent
moved from@senzing/sdk-graph-components
- The following methods added to
SzRelationshipNetworkComponent
canExpandNode
does a node have hidden related nodes that can be displayed.expandNode
show all hidden nodes related to the node specified.canRemoveNode
can a node be removed.removeNode
removes a single node, all it's related and/or both.center
centers the graph viewport.addExistingNodeData
used for data merge/transform operation.addLinksToNodeData
used for data merge/transform operation.asEntityNetworkData
gets the state of graph nodes/links asEntityNetworkData
onLinkClick
when a user clicks on a relationship link line or label.onLinkDblClick
when a user double clicks on a relationship link line or label.onLinkContextClick
when a user right clicks on a relationship link line or label.getNodeByIdQuery
returns a D3.Selection of the node that matches the entity id provided.getNodesByIdQuery
returns a D3.Selection of the nodes that match the entity ids provided.getHiddenNodeIds
return an array of entity ids for nodes that exist on canvas but are not currently visible.updateHiddenRelationshipCounts
update the relationship count bubble inside a entity node with the value from numberRelatedHidden.getRelatedNodesByIdQuery
returns a D3.Selection of nodes that match the entity ids providedupdateIsHiddenForLinks
ensure that a link node(line) is not visible if one of the connected nodes is not visiblegetEntityNodeClass
get the css classes as a space separate string to apply to an entity node.getEntityLinkClass
get the css classes as a space separate string to apply to an entity link node(line).getEntityLinkLabelClass
get the css classes as a space separate string to apply to an entity link node.expandCollapseToggle
toggles the collapsed or expanded nodes related to a nodeupdateHasCollapsedRelationships
after a collapse or expand event all of the nodes on canvas's properties related to collapse/expand must be updated in order to calculate whether or not a node still has hidden related entities.
- The following event emitters added to
SzRelationshipNetworkComponent
relationshipClick
when a user clicks on a relationship link line or label.relationshipDblClick
when a user double clicks on a relationship link line or label.relationshipContextMenuClick
when a user right clicks on a relationship link line or label.onDataUpdated
when new data is added to the store representing the state of the graph this event is emitted with the result ofasEntityNetworkData()
onShowRelatedEntities
event emitted when the user expands or collapses a entity nodes related nodes.onHideRelatedEntities
event emitted when the user expands or collapses a entity nodes related nodes.
- Major refactoring around the draw mechanism inside
SzRelationshipNetworkComponent.addSvg()
method reorganized or rewritten. The following subroutines added:getNodeVisibilityClass
returns a array with the string ofsz-node-state-hidden
if node is supposed to be hidden. (used for css queries)setNodePositionsAsCircle
takes a selection of entity nodes and places their X,Y positions on an arc path(circle) around a central point.applyPositionToNodes
takes the X/Y values set on a node's data property and converts them to CSS transform propertiesupdateLinksForNodes
when a node(s) position has changed this sub is called to keep the end of the link path attached to the node being movedattachEventListenersToNodes
attach internal handlers for things like click, drag, mouseover events to a selection of nodes so handlers are called.stopEventListenersForNodes
remove event handers for a selection of nodesattachEventListenersToLinks
attach internal handlers for things like click, drag, mouseover events to a selection of nodes so handlers are called.polarToCartesian
dependency for drawing concentric ringsdescribeArc
dependency for drawing concentric ringscircleCoord
dependency for drawing concentric ringsgetRingSchemaForNodes
gets a object describing a ring based drawing layout for nodesdrawNodesInRings
takes a collection of entities and lays them out in increasing diameter along rings around an X and Y origin.drawLinks
draws the links between entity nodes on svg canvasdrawNodes
draws the entity nodes on svg canvasonExpandCollapseClick
event handler for when a node's expand or collapsed glyph is clicked on.
SzRelationshipNetworkComponent.onNodeContextClick
added the following to thecontextMenuClick
event emitter so the context menu could be positioned correctly.eventPageX
the x position on the page non-relative that the event occurred at.eventPageY
the y position on the page non-relative that the event occurred at.
SzRelationshipNetworkComponent.contextMenuClick
eventPageX
the x position on the page non-relative that the event occurred at.eventPageY
the y position on the page non-relative that the event occurred at.
Removed
- The following methods have been removed from
SzRelationshipNetworkComponent
onSimulationCycle
gravity simulation has been removed in favor or concentric ring algorithm.unlockForcePosition
gravity simulation has been removed in favor or concentric ring algorithm.lockForcePosition
gravity simulation has been removed in favor or concentric ring algorithm.fade
used to highlight directly related nodes by changing the opacity of all unrelated nodeslinkfade
used to highlight directly related nodes by changing the opacity of all unrelated nodesonNodeDragEnded
no longer needed
Modified
_graphIds
property onSzGraphComponent
type changed fromnumber[]
toSzEntityIdentifier[]
graphIds
property getter and setter onSzGraphComponent
type changed fromnumber[]
toSzEntityIdentifier[]
reload
method inSzGraphComponent
parameter type changed tostring | number | SzEntityIdentifier | SzEntityIdentifier[]
- Major refactoring around the draw mechanism inside
SzRelationshipNetworkComponent
. Almost all of the routiines inaddSvg
method reorganized or rewritten. The following subroutines addedonNodeContextClick
added the following to thecontextMenuClick
event emmitter so the context menu could be positioned correctly.eventPageX
the x position on the page non-relative that the event occurred at.eventPageY
the y position on the page non-relative that the event occurred at.
contextMenuClick
eventPageX
the x position on the page non-relative that the event occurred at.eventPageY
the y position on the page non-relative that the event occurred at.
relevant tickets: #280 #299 #302 #304 #307 #310 #311 #313 #315 #319 #321