| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | 
							- <!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-fx-target-ElementCSS'>/**
 
- </span> * @class Ext.fx.target.ElementCSS
 
-  * 
 
-  * This class represents a animation target for an {@link Ext.Element} that supports CSS
 
-  * based animation. In general this class will not be created directly, the {@link Ext.Element} 
 
-  * will be passed to the animation and the appropriate target will be created.
 
-  */
 
- Ext.define('Ext.fx.target.ElementCSS', {
 
-     /* Begin Definitions */
 
-     extend: 'Ext.fx.target.Element',
 
-     /* End Definitions */
 
-     setAttr: function(targetData, isFirstFrame) {
 
-         var cssArr = {
 
-                 attrs: [],
 
-                 duration: [],
 
-                 easing: []
 
-             },
 
-             ln = targetData.length,
 
-             attributes,
 
-             attrs,
 
-             attr,
 
-             easing,
 
-             duration,
 
-             o,
 
-             i,
 
-             j,
 
-             ln2;
 
-         for (i = 0; i < ln; i++) {
 
-             attrs = targetData[i];
 
-             duration = attrs.duration;
 
-             easing = attrs.easing;
 
-             attrs = attrs.attrs;
 
-             for (attr in attrs) {
 
-                 if (Ext.Array.indexOf(cssArr.attrs, attr) == -1) {
 
-                     cssArr.attrs.push(attr.replace(/[A-Z]/g, function(v) {
 
-                         return '-' + v.toLowerCase();
 
-                     }));
 
-                     cssArr.duration.push(duration + 'ms');
 
-                     cssArr.easing.push(easing);
 
-                 }
 
-             }
 
-         }
 
-         attributes = cssArr.attrs.join(',');
 
-         duration = cssArr.duration.join(',');
 
-         easing = cssArr.easing.join(', ');
 
-         for (i = 0; i < ln; i++) {
 
-             attrs = targetData[i].attrs;
 
-             for (attr in attrs) {
 
-                 ln2 = attrs[attr].length;
 
-                 for (j = 0; j < ln2; j++) {
 
-                     o = attrs[attr][j];
 
-                     o[0].setStyle(Ext.supports.CSS3Prefix + 'TransitionProperty', isFirstFrame ? '' : attributes);
 
-                     o[0].setStyle(Ext.supports.CSS3Prefix + 'TransitionDuration', isFirstFrame ? '' : duration);
 
-                     o[0].setStyle(Ext.supports.CSS3Prefix + 'TransitionTimingFunction', isFirstFrame ? '' : easing);
 
-                     o[0].setStyle(attr, o[1]);
 
-                     // Must trigger reflow to make this get used as the start point for the transition that follows
 
-                     if (isFirstFrame) {
 
-                         o = o[0].dom.offsetWidth;
 
-                     }
 
-                     else {
 
-                         // Remove transition properties when completed.
 
-                         o[0].on(Ext.supports.CSS3TransitionEnd, function() {
 
-                             this.setStyle(Ext.supports.CSS3Prefix + 'TransitionProperty', null);
 
-                             this.setStyle(Ext.supports.CSS3Prefix + 'TransitionDuration', null);
 
-                             this.setStyle(Ext.supports.CSS3Prefix + 'TransitionTimingFunction', null);
 
-                         }, o[0], { single: true });
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-     }
 
- });</pre>
 
- </body>
 
- </html>
 
 
  |