Releases: senzing-garage/sdk-components-ng
7.0.0
Features several new components that use the new DataMart interface(statistics calculation api) made available only in the Senzing POC API Server. Using the Senzing REST API Sever without the new components(data sample browsing, and datasource's summary, Cross-Source comparison) is still possible but not advised for brand new installations.
Modified
- Why and Why Not reports now show scores for all scoring features regardless of match key inclusion. #686
- Graph datasource colors can now be unselected by choosing pure white or black using the color picker. #690
- Why not modal could not horizontally scroll properly. #588
- Graph filter switch for "Directly Related Only" removed in due to confusion between it and the "Hide Indirect Links" checkbox. #590
- On "Why" screen the best matching value should be at the top on the left. #592
- "Re-Eval" button incorrectly showing up for singleton entities in the detail widget. #606
Added
- Donut chart that breaks down how many records have been loaded for each datasource. #608
- Added
SzRecordStatsDonutChart
component. - Added
SzDataMartService
service to interact with poc-server endpoints - Added
SzCountStatsForDataSourcesResponse
,SzStatCountsForDataSources
,SzRecordCountDataSource
models - List widget that shows how many records have been loaded for each datasource.
- Added
SzShortNumberPipe
to display the amount of records in the shortest format ie 12060 records will show12.1K
etc - Added
SzDecimalPercentPipe
to format percent values from decimal inputs.
- Added
- License wiget showing the current license expiry, record limit and how close a particular install is to it's limits. #616
SzLicenseInfoComponent
component to show the current expiration and limit of license and how many records have been loaded so far.
- Venn Diagram cross-source comparison chart. Shows how many records of each type(duplicates, possible relations, disclosed etc) are present in each datasource selected and the amount of each present in both selected datasources(the overlapping part of the diagram). #614
SzCrossSourceSummaryComponent
is responsible for drawing the five venn diagrams. each of which are instances ofSzVennDiagramsComponent
.SzVennDiagramsComponent
displays a single circle if only one datasource is selected, or two circles if two datasources are selected with the overlapping part of the circle being the records that are present in both datasources.SzCrossSourceStatistics
is a wrapper that contains both the pulldowns AND the venn diagramsSzCrossSourceSelectComponent
- this is a component wrapper for the select pulldowns themselves that allow a user to select two datasources to display in the venn diagrams.SzDataMartService
the service used to coordinate between components which datasources are selected, make api requests, set preferences etc.SzDataMartPrefs
stores state for parameters of the service/components and emits on changes.SzElementResizeObserverDirective
allows listening for resize events on dom elements. (used for setting the width of pulldowns to the same as the width of the visible pulldown control which is responsive)
- Sample set Data Table. The new Data Table component shows a sampleset of particular types of records for a specific datasource or datasources and allows paging through the result set. #627
SzTooltipComponent
tooltip that floats above collapsed or limited table cells spawned by theSzTooltipDirective
attribute.SzOrderedMapEntries
SzDataMartPrefs
stores persistent preferences like default selected data sources, match level etc.SzDataTable
generic component that can be fed data and displays data with formatting in a tabular format.SzCrossSourceResultsDataTable
extendsSzDataTable
with functions and properties specific to displaying the sample results of cross source analysis query.SzCrossSourcePagingComponent
is a paging component for navigating through the sampling data table results.SzCrossSourceStatistics
Wrapper component for the comparing stats of one datasource with their mutual stat type of another datasource. Uses the Venn Diagram chart to show the overlap and a special Data Table specific to displaying a sample set from the selected type of stats for the two selected data sources.
- The following events types have been added:
SzStatsSampleTableLoadingEvent
SzCrossSourceSummarySelectionEvent
SzCrossSourceSummarySelectionClickEvent
sampleDataSourceChangeEvent
SzStatSampleSetPageChangeEvent
SzDataTableCellEvent
- The following enums have been added:
SzCrossSourceSummaryCategoryType
SzStatSampleEntityTableRowType
SzCrossSourceSummaryCategoryTypeToMatchLevel
- The following models have been added:
SzStatSampleEntityTableItem
SzDataTableEntity
SzDataTableRelatedEntity
SzStatSampleEntityTableRowEntity
SzStatSampleEntityTableRow
SzDataTableRelationsPagingParameters
SzDataTableEntitiesPagingParameters
SzStatSampleSetParameters
SzCrossSourceSummaryRequests
SzCrossSourceSummaryResponses
SzCrossSourceCount
relevant tickets: #588 #590 #592 #606 #608 #614 #616 #627 #690 #689
6.1.0
The major feature being added for this release is the inclusion a a new "How" report component. The How api functions are meant to provide information on HOW records in an entity came together or were pushed apart during resolution. The Visual How component will illustrate the final entity and allow the user to walk back through the entities resolution steps, branching off when singletons are merged in or virtual entities are created from the result of previous record resolution steps.
Modified
- new graph icons. see #499
- match keys are now shown by default in the graph. #496
- new why and why not report column formatting to match g2Explorer. #558 #551
- why and why not datatransforms changed to match g2Explorer. #529
Added
- "How" entity report component(s) added. see #438
- Added
SzHowEntityComponent
component which is the only component that should be used at an implementation level. The other components listed below are components that this component uses to create things like different color cards, nested trees, navigation, groups etc. - Added
SzHowNavComponent
component which is used to provide quick step jumping based on filter criteria. - Added
SzHowStepNodeComponent
component which represents a node in the step tree. Nodes are different that Steps since they can be other trees, groups, and recurse. Step nodes will containSzHowStepCardComponent
,SzHowStepStackComponent
,SzHowFinalEntityCardComponent
,SzHowSingletonCardComponent
, and/or nestedSzHowStepNodeComponent
components. - Added
SzHowStepStackComponent
component which represents a collapsible group ofADD Record
steps found in sequence. - Added
SzHowStepCardBase
which serves as a base class for card permutations.SzHowStepCardComponent
is the card component representing a Add Record, Singleton, Merge, Interim.SzHowSingletonCardComponent
represents a step or a non-resolved state with a single record that was not merged in.SzHowFinalEntityCardComponent
represents the top level node for a final state in a tree.
- Added
- "How" UI service(
SzHowUIService
) that provides inter-op, eventing, and caching for different How components to use a shared service so things only need to be parsed/transformed once, and if something changes all the components can be notified etc.
relevant tickets: #438 #496 #499 #513 #516 #525 #527 #529 #531 #534 #538 #545 #547 #548 #551 #555 #557 #558 #565 #567 #571 #572 #574 #581
6.0.0
Modified
- Angular Framework updated to version 15. As of 6.0.0 release this package now requires
@angular@~15.0.0
to compile and run. Updating to angular 15 resolves major dependency compatibility issues so we can apply the latest security patches to the library. For information updating your project from a previous angular version to~15.0.0
see the Angular Update Guide - Angular Material updated to version 15. As of 6.0.0 release this package now requires v15 of angular material library. Since the compiled version of this package defines it's dependency as a peer dependency it's worth mentioning that your project will need to import it to function properly.
ng add @angular/material@15
. - D3.js updated to version 7. version 5 was exposing a security defect in d3.color(see SNYK-JS-D3COLOR-1076592) that had no patches available until version 7. see #466
Removed
forceSimulation
property removed fromSzRelationshipNetworkComponent
base class. (no one should be directly using this anyways)
5.1.0
[5.1.0] - 2022-07-27
- there is now a new
unlimited
ui option for maximum entities allowed. - there is now a new
unlimited
ui option for maximum build out allowed. - the upper limit of the maximum entities ui slider is now dynamically set from the initial query.
- match key token counts now feature condensed notation instead of ellipsis.
Added
- the following event emitters added to
SzGraphFilterComponent
matchKeyTokenSelectionScopeChanged
when the user switches fromCORE
toEXTRANEOUS
match key token scope
- the following getters and setters added to
SzGraphFilterComponent
maxEntitiesLimit
the maximum value that the slider control will allow. default is 200.unlimitedMaxEntities
ignore themaxEntities
value and always pull up to 40000unlimitedMaxScope
ignore thebuildOut
value and always pull up to 10
- the following getters and setters added to
SzGraphComponent
unlimitedMaxEntities
unlimitedMaxScope
maxEntitiesFilterLimit
- the following event emitters on
SzGraphComponent
renderStarted
not sure why this didn't exist sincerenderComplete
diddataLoading
for more flexible state sensingonPreflightRequestComplete
so we can get the total relationship count to populate themaxEntitiesFilterLimit
- the following properties/getters/setters added to
SzRelationshipNetworkComponent
noMaxEntitiesLimit
sets whether or not to ignore the value set inmaxEntities
noMaxScopeLimit
sets whether or not to ignore the value set inbuildOut
- the following event emitters added to
SzRelationshipNetworkComponent
onTotalRelationshipsCountUpdated
is emitted with the value of how many total relationships are possible to display according to the data in the focal entities related entities.renderStarted
wasn't wired correctly. works nowdataLoading
when a data request has been initiated.dataLoaded
which is likerequestComplete
but instead of a boolean it returns the data response
- the following preferences added to
SzGraphPrefs
unlimitedMaxEntities
unlimitedMaxScope
getEntitiesByIds
method added toSzSearchService
to get data for multiple entities by their id's in the form ofObservable<SzEntityData[]>
Modified
- Changed the behavior of
showCoreMatchKeyTokenChips
to automatically setmatchKeyTokenSelectionScope
toCORE
. - Changed the complete match key display to a comma deliminated list of tokens on each line for readability
- Changed the
shouldDataSourceBeDisplayed
method inSzGraphFilterComponent
to allow for passing an empty array toshowDataSources
so we can initialize with an empty list that will prevent showing datasources before the list is ready. - Changed the
SzStandaloneGraphComponent
component to initialize the value ofshowDataSources
in the filter component to NOT initially show data sources until the data can be properly rendered. (prevents FOC, see above) - the following getters and setters added to
SzGraphFilterComponent
maxEntities
the maximum number of entities to display on the graph
- the following changes made to
SzRelationshipNetworkComponent
dataRequested
changed to BehaviorSubject (lifecycle bugfix)requestStarted
fixedrequestComplete
fixedgetNetwork
signature changed togetNetwork(entityIds: SzEntityIdentifier[], maxDegrees: number, buildOut: number, maxEntities: number)
- the following event emitters have been rewired so that they are just proxies of
the observeable event streams for uniformity/reliability:onRequestStarted
onRequestCompleted
onRenderStarted
onRenderCompleted
onNoResults
onDataRequested
onDataLoaded
onDataUpdated
scaleChanged
relevant tickets: #343 #344 #347 #348 #350 #355 #358
Full Changelog: 5.0.0...5.1.0
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 ...
4.0.0
This update brings the models in line with the changes for the 3.0.0
release of the senzing rest api server
and rest api specification.
Added
showMatchKeyFilters
property added tosz-standalone-graph
tag. specifying a value offalse
will hide the Filter By Match Key section of the embedded graph controls. (defaults to true)showMatchKeyFilters
property added tosz-graph-filter
tag. specifying a value offalse
will hide the Filter By Match Key list of checkboxes. (defaults to true)SzWhyEntityComponent
component for displaying results from the api server's respective why endpoints(/entities/{entityId}/why
).parseSzIdentifier
function added tosrc/lib/common/utils.ts
nonTextTrim
function added tosrc/lib/common/utils.ts
SzWhySelectionMode
showWhyFunction
input attribute added toSzEntityDetailComponent
. Turns on the availability of "Why" related functions(Why button under icon, why buttons in the records section) in the entity detail component.whySelectionMode
input attribute added toSzEntityDetailComponent
. Turns on the availability of "Why" related functions(Why button under icon, why buttons in the records section) in the entity detail component. values areNONE
|SINGLE
|MULTI
openWhyComparisonModalOnClick
input attribute added toSzEntityDetailComponent
. setting tofalse
will mean that the integrator will be responsible for responding to "Why" events(recordsWhyButtonClick
,headerWhyButtonClick
), the component will no longer display a modal on click by default.- The following getters/setters, and methods to
SzEntityDetailComponent
showRecordWhyUtilities
- explicitly hide or show the why buttons on individual records.showEntityWhyFunction
- explicitly hide or show the why button under the icon.onCompareRecordsForWhy()
- is what is called when arecordsWhyButtonClick
event is invoked.onHeaderWhyButtonClick()
- is what is called when aheaderWhyButtonClick
event is invoked.
- The following event emitters to
SzEntityDetailComponent
recordsWhyButtonClick
- is emitted when a user clicks a why button from within the context of a record.headerWhyButtonClick
- is emitted when a user clicks a why button underneath the icon in the header.
- The graph filters found in the
SzStandaloneGraphComponent
can now show a tag cloud of Match Key Tokens. If setting theshowMatchKeyTokenFilters="true"
you should also set theshowMatchKeyFilters]="false"
since the two options are exclusive and will interfere with proper function of the other.
Removed
- the following methods removed
SzAdminService
addEntityClasses()
addEntityTypes()
addEntityTypesForClass()
getCurrentConfig()
getDefaultConfig()
getEntityClass()
getEntityType()
getEntityTypeByClass()
listEntityClasses()
listEntityTypes()
listEntityTypesByClass()
- the following parameters removed from
SzAdminService.loadBulkRecords()
entityType
mapEntityTypes
mapEntityType
- the following properties removed from
SzBulkDataService
_entityTypes
entityTypeMap
entityTypes
- the following event emitters from
SzBulkDataService
onEntityTypesChange
onEntityTypeMapChange
- the following methods removed from
SzBulkDataService
updateEntityTypes()
getEntityTypeMapFromAnalysis()
changeEntityTypeName()
createEntityTypes()
- the following parameters removed from
SzBulkDataService.load()
entityTypeMap
SzEntityTypesService
SzSearchResultEntityData.matchScore
property
3.0.0
Modified
- Angular Framework Updated to version 13. As of 3.0.0 release this package now requires
@angular@~13.0.0
to compile and run. Updating to angular 13 resolves major dependency compatibility issues so we can apply the latest security patches to the library. For information updating your project from a previous angular version to~13.0.0
see the Angular Update Guide - SzSearchComponent.resultCleared event emitter payload is now of type
void
and notSzEntitySearchParams
. - Small bugfix to properly clip the graph scale ui control when graph section in entity detail is collapsed.
Deleted
- Admin Import example and related code. The admin load functionality has been deprecated since there is just too much movement of the methodology and complexity used to achieve this functionality for it be practical to expose it via the sdk-components-ng package. For a working example of how to implement load and analyze functionality see the consuming Entity Search Web App repository.
- Angular Schematics support. see #253
2.2.6
Added
SzEntityDetailGraphComponent
showZoomControl
input setter for whether or not to show zoom controls.showZoomControl
getter for whether or not zoom controls are shown.zoomControlPosition
input setter for where the zoom control shows up on the embedded graph.zoomControlPosition
getter for where the zoom control shows up on the embedded graph.graphZoom
input setter for the current zoom level of the graph.graphZoom
getter for the current zoom level of the graph.onGraphZoom()
handler for proxying zoom state of graph component to local scope.zoomIn()
zooms the graph in.zoomOut()
zooms the graph out.
SzStandaloneGraphComponent
showZoomControl
input setter for whether or not to show zoom controls.showZoomControl
getter for whether or not zoom controls are shown.zoomControlPosition
input setter for where the zoom control shows up on the embedded graph.zoomControlPosition
getter for where the zoom control shows up on the embedded graph.graphZoom
input setter for the current zoom level of the graph.graphZoom
getter for the current zoom level of the graph.onGraphZoom()
handler for proxying zoom state of graph component to local scope.zoomIn()
zooms the graph in.zoomOut()
zooms the graph out.
SzEntityDetailComponent
graphZoomControlPosition
input setter for where the zoom control shows up on the embedded graph.graphShowZoomControl
input setter for whether or not to show zoom controls on embedded graph.
2.2.5
- Graph now allows the user to be able to show/hide entities on the graph control whos' relationships belong to specific match keys present in the graph in the filters control.
- Search by Datasource/RecordId now gets the full
SzEntityData
instead of just theSzEntityRecord
- Old behavior(to return just
SzEntityRecord
instead ofSzEntityData
) relocated fromSzSearchService.getEntityByRecordId
toSzSearchService.getRecordById
- Various new CSS Variables added for styling granularity relevant to senzing-garage/entity-search-web-app#213
2.2.4
- API Client package updated to version 2.3.0
- Compatibility updates for Senzing OAS 2.7.0 specification
- Compatibility updates for Senzing Rest [email protected]
- Preferences has several models added to facilitate stateful storage of Stream Loading features found in the POC Server extensions:
AdminStreamConnProperties
,AdminStreamAnalysisConfig
,AdminStreamLoadConfig
,AdminStreamUploadRates
in src/lib/models/data-admin.tsSzAdminPrefs
added tosrc/lib/services/sz-prefs.service.ts