| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 | <!DOCTYPE html><html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>The source code</title>  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>  <style type="text/css">    .highlight { display: block; background-color: #ddd; }  </style>  <script type="text/javascript">    function highlight() {      document.getElementById(location.hash.replace(/#/, "")).className = "highlight";    }  </script></head><body onload="prettyPrint(); highlight();">  <pre class="prettyprint lang-js"><span id='Ext-chart-Tip'>/**</span> * @class Ext.chart.Tip * Provides tips for Ext.chart.series.Series. */Ext.define('Ext.chart.Tip', {    /* Begin Definitions */    requires: ['Ext.tip.ToolTip', 'Ext.chart.TipSurface'],    /* End Definitions */    constructor: function(config) {        var me = this,            surface,            sprites,            tipSurface;        if (config.tips) {            me.tipTimeout = null;            me.tipConfig = Ext.apply({}, config.tips, {                renderer: Ext.emptyFn,                constrainPosition: true,                autoHide: true            });            me.tooltip = new Ext.tip.ToolTip(me.tipConfig);            me.chart.surface.on('mousemove', me.tooltip.onMouseMove, me.tooltip);            me.chart.surface.on('mouseleave', function() {                me.hideTip();            });            if (me.tipConfig.surface) {                //initialize a surface                surface = me.tipConfig.surface;                sprites = surface.sprites;                tipSurface = new Ext.chart.TipSurface({                    id: 'tipSurfaceComponent',                    sprites: sprites                });                if (surface.width && surface.height) {                    tipSurface.setSize(surface.width, surface.height);                }                me.tooltip.add(tipSurface);                me.spriteTip = tipSurface;            }        }    },    showTip: function(item) {        var me = this,            tooltip,            spriteTip,            tipConfig,            trackMouse,            sprite,            surface,            surfaceExt,            pos,            x,            y;        if (!me.tooltip) {            return;        }        clearTimeout(me.tipTimeout);        tooltip = me.tooltip;        spriteTip = me.spriteTip;        tipConfig = me.tipConfig;        trackMouse = tooltip.trackMouse;        if (!trackMouse) {            tooltip.trackMouse = true;            sprite = item.sprite;            surface = sprite.surface;            surfaceExt = Ext.get(surface.getId());            if (surfaceExt) {                pos = surfaceExt.getXY();                x = pos[0] + (sprite.attr.x || 0) + (sprite.attr.translation && sprite.attr.translation.x || 0);                y = pos[1] + (sprite.attr.y || 0) + (sprite.attr.translation && sprite.attr.translation.y || 0);                tooltip.targetXY = [x, y];            }        }        if (spriteTip) {            tipConfig.renderer.call(tooltip, item.storeItem, item, spriteTip.surface);        } else {            tipConfig.renderer.call(tooltip, item.storeItem, item);        }        tooltip.show();        tooltip.trackMouse = trackMouse;    },    hideTip: function(item) {        var tooltip = this.tooltip;        if (!tooltip) {            return;        }        clearTimeout(this.tipTimeout);        this.tipTimeout = setTimeout(function() {            tooltip.hide();        }, 0);    }});</pre></body></html>
 |