| OLD | NEW | 
 | (Empty) | 
|   1 <!-- |  | 
|   2 @license |  | 
|   3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved. |  | 
|   4 This code may only be used under the BSD style license found at http://polymer.g
    ithub.io/LICENSE.txt |  | 
|   5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt |  | 
|   6 The complete set of contributors may be found at http://polymer.github.io/CONTRI
    BUTORS.txt |  | 
|   7 Code distributed by Google as part of the polymer project is also |  | 
|   8 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
    TS.txt |  | 
|   9 --> |  | 
|  10  |  | 
|  11 <link rel="import" href="../polymer/polymer.html"> |  | 
|  12 <link rel="import" href="neon-animation-behavior.html"> |  | 
|  13  |  | 
|  14 <script> |  | 
|  15  |  | 
|  16   /** |  | 
|  17    * Use `Polymer.NeonSharedElementAnimationBehavior` to implement shared elemen
    t animations. |  | 
|  18    * @polymerBehavior Polymer.NeonSharedElementAnimationBehavior |  | 
|  19    */ |  | 
|  20   Polymer.NeonSharedElementAnimationBehaviorImpl = { |  | 
|  21  |  | 
|  22     properties: { |  | 
|  23  |  | 
|  24       /** |  | 
|  25        * Cached copy of shared elements. |  | 
|  26        */ |  | 
|  27       sharedElements: { |  | 
|  28         type: Object |  | 
|  29       } |  | 
|  30  |  | 
|  31     }, |  | 
|  32  |  | 
|  33     /** |  | 
|  34      * Finds shared elements based on `config`. |  | 
|  35      */ |  | 
|  36     findSharedElements: function(config) { |  | 
|  37       var fromPage = config.fromPage; |  | 
|  38       var toPage = config.toPage; |  | 
|  39       if (!fromPage || !toPage) { |  | 
|  40         console.warn(this.is + ':', !fromPage ? 'fromPage' : 'toPage', 'is undef
    ined!'); |  | 
|  41         return null; |  | 
|  42       }; |  | 
|  43  |  | 
|  44       if (!fromPage.sharedElements || !toPage.sharedElements) { |  | 
|  45         console.warn(this.is + ':', 'sharedElements are undefined for', !fromPag
    e.sharedElements ? fromPage : toPage); |  | 
|  46         return null; |  | 
|  47       }; |  | 
|  48  |  | 
|  49       var from = fromPage.sharedElements[config.id] |  | 
|  50       var to = toPage.sharedElements[config.id]; |  | 
|  51  |  | 
|  52       if (!from || !to) { |  | 
|  53         console.warn(this.is + ':', 'sharedElement with id', config.id, 'not fou
    nd in', !from ? fromPage : toPage); |  | 
|  54         return null; |  | 
|  55       } |  | 
|  56  |  | 
|  57       this.sharedElements = { |  | 
|  58         from: from, |  | 
|  59         to: to |  | 
|  60       }; |  | 
|  61       return this.sharedElements; |  | 
|  62     } |  | 
|  63  |  | 
|  64   }; |  | 
|  65  |  | 
|  66   /** @polymerBehavior Polymer.NeonSharedElementAnimationBehavior */ |  | 
|  67   Polymer.NeonSharedElementAnimationBehavior = [ |  | 
|  68     Polymer.NeonAnimationBehavior, |  | 
|  69     Polymer.NeonSharedElementAnimationBehaviorImpl |  | 
|  70   ]; |  | 
|  71  |  | 
|  72 </script> |  | 
| OLD | NEW |