| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 | 
							- <!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-Highlight'>/**
 
- </span> * @class Ext.chart.Highlight
 
-  * A mixin providing highlight functionality for Ext.chart.series.Series.
 
-  */
 
- Ext.define('Ext.chart.Highlight', {
 
-     /* Begin Definitions */
 
-     requires: ['Ext.fx.Anim'],
 
-     /* End Definitions */
 
- <span id='Ext-chart-Highlight-method-highlight'>    /**
 
- </span>     * Highlight the given series item.
 
-      * @param {Boolean/Object} Default's false. Can also be an object width style properties (i.e fill, stroke, radius) 
 
-      * or just use default styles per series by setting highlight = true.
 
-      */
 
-     highlight: false,
 
-     highlightCfg : {
 
-         fill: '#fdd',
 
-         "stroke-width": 5,
 
-         stroke: '#f55'
 
-     },
 
-     constructor: function(config) {
 
-         if (config.highlight) {
 
-             if (config.highlight !== true) { //is an object
 
-                 this.highlightCfg = Ext.merge(this.highlightCfg, config.highlight);
 
-             }
 
-         }
 
-     },
 
- <span id='Ext-chart-Highlight-method-highlightItem'>    /**
 
- </span>     * Highlight the given series item.
 
-      * @param {Object} item Info about the item; same format as returned by #getItemForPoint.
 
-      */
 
-     highlightItem: function(item) {
 
-         if (!item) {
 
-             return;
 
-         }
 
-         
 
-         var me = this,
 
-             sprite = item.sprite,
 
-             opts = Ext.merge({}, me.highlightCfg, me.highlight),
 
-             surface = me.chart.surface,
 
-             animate = me.chart.animate,
 
-             p, from, to, pi;
 
-         if (!me.highlight || !sprite || sprite._highlighted) {
 
-             return;
 
-         }
 
-         if (sprite._anim) {
 
-             sprite._anim.paused = true;
 
-         }
 
-         sprite._highlighted = true;
 
-         if (!sprite._defaults) {
 
-             sprite._defaults = Ext.apply({}, sprite.attr);
 
-             from = {};
 
-             to = {};
 
-             for (p in opts) {
 
-                 if (! (p in sprite._defaults)) {
 
-                     sprite._defaults[p] = surface.availableAttrs[p];
 
-                 }
 
-                 from[p] = sprite._defaults[p];
 
-                 to[p] = opts[p];
 
-                 if (Ext.isObject(opts[p])) {
 
-                     from[p] = {};
 
-                     to[p] = {};
 
-                     Ext.apply(sprite._defaults[p], sprite.attr[p]);
 
-                     Ext.apply(from[p], sprite._defaults[p]);
 
-                     for (pi in sprite._defaults[p]) {
 
-                         if (! (pi in opts[p])) {
 
-                             to[p][pi] = from[p][pi];
 
-                         } else {
 
-                             to[p][pi] = opts[p][pi];
 
-                         }
 
-                     }
 
-                     for (pi in opts[p]) {
 
-                         if (! (pi in to[p])) {
 
-                             to[p][pi] = opts[p][pi];
 
-                         }
 
-                     }
 
-                 }
 
-             }
 
-             sprite._from = from;
 
-             sprite._to = to;
 
-             sprite._endStyle = to;
 
-         }
 
-         if (animate) {
 
-             sprite._anim = new Ext.fx.Anim({
 
-                 target: sprite,
 
-                 from: sprite._from,
 
-                 to: sprite._to,
 
-                 duration: 150
 
-             });
 
-         } else {
 
-             sprite.setAttributes(sprite._to, true);
 
-         }
 
-     },
 
- <span id='Ext-chart-Highlight-method-unHighlightItem'>    /**
 
- </span>     * Un-highlight any existing highlights
 
-      */
 
-     unHighlightItem: function() {
 
-         if (!this.highlight || !this.items) {
 
-             return;
 
-         }
 
-         var me = this,
 
-             items = me.items,
 
-             len = items.length,
 
-             opts = Ext.merge({}, me.highlightCfg, me.highlight),
 
-             animate = me.chart.animate,
 
-             i = 0,
 
-             obj, p, sprite;
 
-         for (; i < len; i++) {
 
-             if (!items[i]) {
 
-                 continue;
 
-             }
 
-             sprite = items[i].sprite;
 
-             if (sprite && sprite._highlighted) {
 
-                 if (sprite._anim) {
 
-                     sprite._anim.paused = true;
 
-                 }
 
-                 obj = {};
 
-                 for (p in opts) {
 
-                     if (Ext.isObject(sprite._defaults[p])) {
 
-                         obj[p] = {};
 
-                         Ext.apply(obj[p], sprite._defaults[p]);
 
-                     }
 
-                     else {
 
-                         obj[p] = sprite._defaults[p];
 
-                     }
 
-                 }
 
-                 if (animate) {
 
-                     //sprite._to = obj;
 
-                     sprite._endStyle = obj;
 
-                     sprite._anim = new Ext.fx.Anim({
 
-                         target: sprite,
 
-                         to: obj,
 
-                         duration: 150
 
-                     });
 
-                 }
 
-                 else {
 
-                     sprite.setAttributes(obj, true);
 
-                 }
 
-                 delete sprite._highlighted;
 
-                 //delete sprite._defaults;
 
-             }
 
-         }
 
-     },
 
-     cleanHighlights: function() {
 
-         if (!this.highlight) {
 
-             return;
 
-         }
 
-         var group = this.group,
 
-             markerGroup = this.markerGroup,
 
-             i = 0,
 
-             l;
 
-         for (l = group.getCount(); i < l; i++) {
 
-             delete group.getAt(i)._defaults;
 
-         }
 
-         if (markerGroup) {
 
-             for (l = markerGroup.getCount(); i < l; i++) {
 
-                 delete markerGroup.getAt(i)._defaults;
 
-             }
 
-         }
 
-     }
 
- });</pre>
 
- </body>
 
- </html>
 
 
  |