<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ZingSoft Demo</title> <script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script> <style></style> </head> <body> <div id='myChart'></div> <script> ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"]; // Global wrapper window.customFncs = {}; var myConfig = { type: "line", title: { text: 'Custom Tooltip History' }, tooltip: { jsRule: "window.customFncs.formatTooltip()" }, series: [{ values: [1, 3, 2, 3, 4, 5, 4, 3, 2, 1, 2, 3, 4, 5, 4] }, { values: [6, 7, 8, 7, 6, 7, 8, 9, 8, 7, 8, 7, 8, 9, 8] } ] }; // simple associative array var tooltipHistoryHash = []; /* * Function under our ZC wrapper. Will * be fired when the node is hovered over * * @param {object} p ZingChart callback argument. * is associated to various graph properties */ window.customFncs.formatTooltip = function(p) { console.log(p); var plotIndex = p.plotindex; var nodeIndex = p.nodeindex; var hashId = 'p:' + plotIndex + 'n:' + nodeIndex; var tooltipText = ""; // Simple logic, if exists grab the value. Else let user // know its the first time if (tooltipHistoryHash[hashId]) { // Get the time elapsed since the last hover var elapsed = Math.floor((new Date().getTime() - tooltipHistoryHash[hashId]) / 1000); tooltipText = "Last Time Hovered: "; // If it's less than 0, they hovered less than a second ago if (elapsed === 0) { tooltipText += "less than a second ago!"; } else { tooltipText += elapsed.toString() + " seconds ago"; } } else { tooltipText = "First Time Hovering!"; } // Assign into associative array (hash) tooltipHistoryHash[hashId] = new Date().getTime(); // Return and object with multiple properties return { text: tooltipText, backgroundColor: "#222" } } zingchart.render({ id: 'myChart', data: myConfig, height: 400, width: 600 }); </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ZingSoft Demo</title> <script src="https://cdn.zingchart.com/zingchart.min.js"></script> </head> <body> <div id='myChart'></div> </body> </html>
// Global wrapper window.customFncs = {}; var myConfig = { type: "line", title: { text: 'Custom Tooltip History' }, tooltip: { jsRule: "window.customFncs.formatTooltip()" }, series: [{ values: [1, 3, 2, 3, 4, 5, 4, 3, 2, 1, 2, 3, 4, 5, 4] }, { values: [6, 7, 8, 7, 6, 7, 8, 9, 8, 7, 8, 7, 8, 9, 8] } ] }; // simple associative array var tooltipHistoryHash = []; /* * Function under our ZC wrapper. Will * be fired when the node is hovered over * * @param {object} p ZingChart callback argument. * is associated to various graph properties */ window.customFncs.formatTooltip = function(p) { console.log(p); var plotIndex = p.plotindex; var nodeIndex = p.nodeindex; var hashId = 'p:' + plotIndex + 'n:' + nodeIndex; var tooltipText = ""; // Simple logic, if exists grab the value. Else let user // know its the first time if (tooltipHistoryHash[hashId]) { // Get the time elapsed since the last hover var elapsed = Math.floor((new Date().getTime() - tooltipHistoryHash[hashId]) / 1000); tooltipText = "Last Time Hovered: "; // If it's less than 0, they hovered less than a second ago if (elapsed === 0) { tooltipText += "less than a second ago!"; } else { tooltipText += elapsed.toString() + " seconds ago"; } } else { tooltipText = "First Time Hovering!"; } // Assign into associative array (hash) tooltipHistoryHash[hashId] = new Date().getTime(); // Return and object with multiple properties return { text: tooltipText, backgroundColor: "#222" } } zingchart.render({ id: 'myChart', data: myConfig, height: 400, width: 600 });