export function sankeyTooltip(echartNodes, nodeValues) { return (params) => { if ('source' in params.data && 'target' in params.data) { const sourceName = echartNodes[params.data.source].name; const targetName = echartNodes[params.data.target].name; const sourceValue = nodeValues[params.data.source]; return `
${sourceName}
${sourceValue}
${targetName}
${params.data.value} ${params.data.percentage.toFixed( 2 )}%
`; //${sourceName} -> ${targetName}: ${params.data.value} sessions (${params.data.percentage.toFixed(2)}%) } if ('name' in params.data) { return `
${params.data.name}
${params.value} sessions
`; } }; } export const getEventPriority = (type: string) => { switch (type) { case 'DROP': return 3; case 'OTHER': return 2; default: return 1; } }; export const getNodeName = (eventType: string, nodeName: string | null) => { if (!nodeName) { // only capitalize first return eventType.charAt(0) + eventType.slice(1).toLowerCase(); } return nodeName; }