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
SzRecordStatsDonutChartcomponent. - Added
SzDataMartServiceservice to interact with poc-server endpoints - Added
SzCountStatsForDataSourcesResponse,SzStatCountsForDataSources,SzRecordCountDataSourcemodels - List widget that shows how many records have been loaded for each datasource.
- Added
SzShortNumberPipeto display the amount of records in the shortest format ie 12060 records will show12.1Ketc - Added
SzDecimalPercentPipeto 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
SzLicenseInfoComponentcomponent 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
SzCrossSourceSummaryComponentis responsible for drawing the five venn diagrams. each of which are instances ofSzVennDiagramsComponent.SzVennDiagramsComponentdisplays 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.SzCrossSourceStatisticsis 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.SzDataMartServicethe service used to coordinate between components which datasources are selected, make api requests, set preferences etc.SzDataMartPrefsstores state for parameters of the service/components and emits on changes.SzElementResizeObserverDirectiveallows 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
SzTooltipComponenttooltip that floats above collapsed or limited table cells spawned by theSzTooltipDirectiveattribute.SzOrderedMapEntriesSzDataMartPrefsstores persistent preferences like default selected data sources, match level etc.SzDataTablegeneric component that can be fed data and displays data with formatting in a tabular format.SzCrossSourceResultsDataTableextendsSzDataTablewith functions and properties specific to displaying the sample results of cross source analysis query.SzCrossSourcePagingComponentis a paging component for navigating through the sampling data table results.SzCrossSourceStatisticsWrapper 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:
SzStatsSampleTableLoadingEventSzCrossSourceSummarySelectionEventSzCrossSourceSummarySelectionClickEventsampleDataSourceChangeEventSzStatSampleSetPageChangeEventSzDataTableCellEvent
- The following enums have been added:
SzCrossSourceSummaryCategoryTypeSzStatSampleEntityTableRowTypeSzCrossSourceSummaryCategoryTypeToMatchLevel
- The following models have been added:
SzStatSampleEntityTableItemSzDataTableEntitySzDataTableRelatedEntitySzStatSampleEntityTableRowEntitySzStatSampleEntityTableRowSzDataTableRelationsPagingParametersSzDataTableEntitiesPagingParametersSzStatSampleSetParametersSzCrossSourceSummaryRequestsSzCrossSourceSummaryResponsesSzCrossSourceCount
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
SzHowEntityComponentcomponent 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
SzHowNavComponentcomponent which is used to provide quick step jumping based on filter criteria. - Added
SzHowStepNodeComponentcomponent 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 nestedSzHowStepNodeComponentcomponents. - Added
SzHowStepStackComponentcomponent which represents a collapsible group ofADD Recordsteps found in sequence. - Added
SzHowStepCardBasewhich serves as a base class for card permutations.SzHowStepCardComponentis the card component representing a Add Record, Singleton, Merge, Interim.SzHowSingletonCardComponentrepresents a step or a non-resolved state with a single record that was not merged in.SzHowFinalEntityCardComponentrepresents 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.0to 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.0see 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
forceSimulationproperty removed fromSzRelationshipNetworkComponentbase class. (no one should be directly using this anyways)
5.1.0
[5.1.0] - 2022-07-27
- there is now a new
unlimitedui option for maximum entities allowed. - there is now a new
unlimitedui 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
SzGraphFilterComponentmatchKeyTokenSelectionScopeChangedwhen the user switches fromCOREtoEXTRANEOUSmatch key token scope
- the following getters and setters added to
SzGraphFilterComponentmaxEntitiesLimitthe maximum value that the slider control will allow. default is 200.unlimitedMaxEntitiesignore themaxEntitiesvalue and always pull up to 40000unlimitedMaxScopeignore thebuildOutvalue and always pull up to 10
- the following getters and setters added to
SzGraphComponentunlimitedMaxEntitiesunlimitedMaxScopemaxEntitiesFilterLimit
- the following event emitters on
SzGraphComponentrenderStartednot sure why this didn't exist sincerenderCompletediddataLoadingfor more flexible state sensingonPreflightRequestCompleteso we can get the total relationship count to populate themaxEntitiesFilterLimit
- the following properties/getters/setters added to
SzRelationshipNetworkComponentnoMaxEntitiesLimitsets whether or not to ignore the value set inmaxEntitiesnoMaxScopeLimitsets whether or not to ignore the value set inbuildOut
- the following event emitters added to
SzRelationshipNetworkComponentonTotalRelationshipsCountUpdatedis emitted with the value of how many total relationships are possible to display according to the data in the focal entities related entities.renderStartedwasn't wired correctly. works nowdataLoadingwhen a data request has been initiated.dataLoadedwhich is likerequestCompletebut instead of a boolean it returns the data response
- the following preferences added to
SzGraphPrefsunlimitedMaxEntitiesunlimitedMaxScope
getEntitiesByIdsmethod added toSzSearchServiceto get data for multiple entities by their id's in the form ofObservable<SzEntityData[]>
Modified
- Changed the behavior of
showCoreMatchKeyTokenChipsto automatically setmatchKeyTokenSelectionScopetoCORE. - Changed the complete match key display to a comma deliminated list of tokens on each line for readability
- Changed the
shouldDataSourceBeDisplayedmethod inSzGraphFilterComponentto allow for passing an empty array toshowDataSourcesso we can initialize with an empty list that will prevent showing datasources before the list is ready. - Changed the
SzStandaloneGraphComponentcomponent to initialize the value ofshowDataSourcesin 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
SzGraphFilterComponentmaxEntitiesthe maximum number of entities to display on the graph
- the following changes made to
SzRelationshipNetworkComponentdataRequestedchanged to BehaviorSubject (lifecycle bugfix)requestStartedfixedrequestCompletefixedgetNetworksignature 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:onRequestStartedonRequestCompletedonRenderStartedonRenderCompletedonNoResultsonDataRequestedonDataLoadedonDataUpdatedscaleChanged
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
SzWhyEntitiesComparisonComponentadded 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:showWhyComparisonButtonenables 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
SzEntityDetailComponentshowGraphContextMenuenables the built-in context menu for entity nodes on the graph embedded in the entity detail component.showGraphLinkContextMenuenables the built-in context menu for relationship lines/labels on the graph embedded in the entity detail component.graphMatchKeyTokenSelectionScopepossible 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
SzEntityDetailComponentgraphRelationshipContextMenuClickis emitted when a user right clicks on relationship lines/labels in the embedded graph component.graphRelationshipClickis emitted when a user clicks on relationship lines/labels in the embedded graph component.
- The following properties added to
SzGraphComponentand are inheirited bySzStandaloneGraphComponentandSzEntityDetailGraphComponent.matchKeyTokenSelectionScopepossible 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
SzGraphComponentand are inheirited bySzStandaloneGraphComponentandSzEntityDetailGraphComponent.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
SzGraphComponentrelationshipContextMenuClickis emitted when a user right clicks on relationship lines/labels in the embedded graph component.relationshipClickis emitted when a user clicks on relationship lines/labels in the embedded graph component.
- The following methods added to
SzEntityDetailComponentisGraphEntityRemovable(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.
SzRelationshipNetworkComponentmoved from@senzing/sdk-graph-componentsSzRelationshipNetworkInputComponentmoved from@senzing/sdk-graph-componentsSzRelationshipNetworkLookupComponentmoved from@senzing/sdk-graph-componentsSzRelationshipPathComponentmoved from@senzing/sdk-graph-components- The following methods added to
SzRelationshipNetworkComponentcanExpandNodedoes a node have hidden related nodes that can be displayed.expandNodeshow all hidden nodes related to the node specified.canRemoveNodecan a node be removed.removeNoderemoves a single node, all it's related and/or both.centercenters the graph viewport.addExistingNodeDataused for data merge/transform operation.addLinksToNodeDataused for data merge/transform operation.asEntityNetworkDatagets the state of graph nodes/links asEntityNetworkDataonLinkClickwhen a user clicks on a relationship link line or label.onLinkDblClickwhen a user double clicks on a relationship link line or label.onLinkContextClickwhen a user right clicks on a relationship link line or label.getNodeByIdQueryreturns a D3.Selection of the node that matches the entity id provided.getNodesByIdQueryreturns a D3.Selection of the nodes that match the entity ids provided.getHiddenNodeIdsreturn an array of entity ids for nodes that exist on canvas but are not currently visible.updateHiddenRelationshipCountsupdate the relationship count bubble inside a entity node with the value from numberRelatedHidden.getRelatedNodesByIdQueryreturns a D3.Selection of nodes that match the entity ids providedupdateIsHiddenForLinksensure that a link node(line) is not visible if one of the connected nodes is not visiblegetEntityNodeClassget the css classes as a space separate string to apply to an entity node.getEntityLinkClassget the css classes as a space separate string to apply to an entity link node(line).getEntityLinkLabelClassget the css classes as a space separate string to apply to an entity link node.expandCollapseToggletoggles the collapsed or expanded nodes related to a nodeupdateHasCollapsedRelationshipsafter 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
SzRelationshipNetworkComponentrelationshipClickwhen a user clicks on a relationship link line or label.relationshipDblClickwhen a user double clicks on a relationship link line or label.relationshipContextMenuClickwhen a user right clicks on a relationship link line or label.onDataUpdatedwhen new data is added to the store representing the state of the graph this event is emitted with the result ofasEntityNetworkData()onShowRelatedEntitiesevent emitted when the user expands or collapses a entity nodes related nodes.onHideRelatedEntitiesevent 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:getNodeVisibilityClassreturns a array with the string ofsz-node-state-hiddenif node is supposed to be hidden. (used for css queries)setNodePositionsAsCircletakes a selection of entity nodes and places their X,Y positions on an arc path(circle) around a central point.applyPositionToNodestakes the X/Y values set on a node's data property and converts them to CSS transform propertiesupdateLinksForNodeswhen a node(s) position has changed this sub is called to keep the end of the link path attached to the node being movedattachEventListenersToNodesattach internal handlers for things like click, drag, mouseover events to a selection of nodes so handlers are called.stopEventListenersForNodesremove event handers for a selection of nodesattachEventListenersToLinksattach internal handlers for things like click, drag, mouseover events to a selection of nodes so handlers are called.polarToCartesiandependency for drawing concentric ringsdescribeArcdependency for drawing concentric ringscircleCoorddependency for drawing concentric ringsgetRingSchemaForNodesgets a object describing a ring based drawing layout for nodesdrawNodesInRingstakes a collection of entities and lays them out in increasing diameter along rings around an X and Y origin.drawLinksdraws the links between entity nodes on svg canvasdrawNodesdraws the entity nodes on svg canvasonExpandCollapseClickevent handler for when a node's expand or collapsed glyph is clicked on.
SzRelationshipNetworkComponent.onNodeContextClickadded the following to thecontextMenuClickevent emitter so the context menu could be positioned correctly.eventPageXthe x position on the page non-relative that the event occurred at.eventPageYthe y position on the page non-relative that the event occurred at.
SzRelationshipNetworkComponent.contextMenuClickeventPageXthe x position on the page non-relative that the event occurred at.eventPageYthe y position on the page non-relative that the event occurred at.
Removed
- The following methods have been removed from
SzRelationshipNetworkComponentonSimulationCyclegravity simulation has been removed in favor or concentric ring algorithm.unlockForcePositiongravity 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
showMatchKeyFiltersproperty added tosz-standalone-graphtag. specifying a value offalsewill hide the Filter By Match Key section of the embedded graph controls. (defaults to true)showMatchKeyFiltersproperty added tosz-graph-filtertag. specifying a value offalsewill hide the Filter By Match Key list of checkboxes. (defaults to true)SzWhyEntityComponentcomponent for displaying results from the api server's respective why endpoints(/entities/{entityId}/why).parseSzIdentifierfunction added tosrc/lib/common/utils.tsnonTextTrimfunction added tosrc/lib/common/utils.tsSzWhySelectionModeshowWhyFunctioninput 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.whySelectionModeinput 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|MULTIopenWhyComparisonModalOnClickinput attribute added toSzEntityDetailComponent. setting tofalsewill 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
SzEntityDetailComponentshowRecordWhyUtilities- 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 arecordsWhyButtonClickevent is invoked.onHeaderWhyButtonClick()- is what is called when aheaderWhyButtonClickevent is invoked.
- The following event emitters to
SzEntityDetailComponentrecordsWhyButtonClick- 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
SzStandaloneGraphComponentcan 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
SzAdminServiceaddEntityClasses()addEntityTypes()addEntityTypesForClass()getCurrentConfig()getDefaultConfig()getEntityClass()getEntityType()getEntityTypeByClass()listEntityClasses()listEntityTypes()listEntityTypesByClass()
- the following parameters removed from
SzAdminService.loadBulkRecords()entityTypemapEntityTypesmapEntityType
- the following properties removed from
SzBulkDataService_entityTypesentityTypeMapentityTypes
- the following event emitters from
SzBulkDataServiceonEntityTypesChangeonEntityTypeMapChange
- the following methods removed from
SzBulkDataServiceupdateEntityTypes()getEntityTypeMapFromAnalysis()changeEntityTypeName()createEntityTypes()
- the following parameters removed from
SzBulkDataService.load()entityTypeMap
SzEntityTypesServiceSzSearchResultEntityData.matchScoreproperty
3.0.0
Modified
- Angular Framework Updated to version 13. As of 3.0.0 release this package now requires
@angular@~13.0.0to 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.0see the Angular Update Guide - SzSearchComponent.resultCleared event emitter payload is now of type
voidand 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
SzEntityDetailGraphComponentshowZoomControlinput setter for whether or not to show zoom controls.showZoomControlgetter for whether or not zoom controls are shown.zoomControlPositioninput setter for where the zoom control shows up on the embedded graph.zoomControlPositiongetter for where the zoom control shows up on the embedded graph.graphZoominput setter for the current zoom level of the graph.graphZoomgetter 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.
SzStandaloneGraphComponentshowZoomControlinput setter for whether or not to show zoom controls.showZoomControlgetter for whether or not zoom controls are shown.zoomControlPositioninput setter for where the zoom control shows up on the embedded graph.zoomControlPositiongetter for where the zoom control shows up on the embedded graph.graphZoominput setter for the current zoom level of the graph.graphZoomgetter 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.
SzEntityDetailComponentgraphZoomControlPositioninput setter for where the zoom control shows up on the embedded graph.graphShowZoomControlinput 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
SzEntityDatainstead of just theSzEntityRecord - Old behavior(to return just
SzEntityRecordinstead ofSzEntityData) relocated fromSzSearchService.getEntityByRecordIdtoSzSearchService.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 Server@2.7.0
- Preferences has several models added to facilitate stateful storage of Stream Loading features found in the POC Server extensions:
AdminStreamConnProperties,AdminStreamAnalysisConfig,AdminStreamLoadConfig,AdminStreamUploadRatesin src/lib/models/data-admin.tsSzAdminPrefsadded tosrc/lib/services/sz-prefs.service.ts
