events (knowledge graph)
| This feature is no longer available but remains supported for customers with an existing knowledge graph implementation. |
Description
Apply custom events triggered on Knowledge Graph widget during the life-cycle:
-
nav- Fired when request to web service is done; Invoked with arguments:event,box,urlandtype, wheretypeis a navigation action and can be:-
go- navigate to Knowledge Graph entity -
rel- click on category of entity -
tab- select a relationship -
prev,next- paginate to previous/next page in list view -
page- paginate to specific page number in list view -
external- navigate to entity URL -
share- click on a share tool
-
-
render- Fired when view is rendered; Invoked with arguments:event,box,urlanddata, wheredatais processed output from Knowledge Graph endpoint.
All events will receive the below parameters:
-
event- JavaScriptEventobject -
box- configuration of Knowledge Graph widget -
url- current Knowledge Graph API endpoint
Examples
Enable tracking
events parameter can be used to enable third-party tracking of endpoint clicks in Knowledge Graph widget.
Basic setting of google analytics
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '<googla-analytics-ID>', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery(document).knowledgeGraph({
...
events: {
nav: function(event, box, url, type) {
ga('send', 'event', {eventCategory: type, eventAction: url});
}
}
});
});
</script>
Friendly display setting
events: {
nav: function(event, box, url, type) {
const t = {
go: 'View entity',
rel: 'View relationships',
tab: 'Filter relationships',
prev: 'Click on previous in pagination',
next: 'Click on next in pagination',
page: 'Click on page number in pagination',
external: 'Open entity',
share: 'Share entity'};
ga('send', 'event', { eventCategory: 'Funnelback Knowledge Graph', eventAction: t[type] || type, eventLabel: url });
}
}