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.github.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/CONTRIBUTORS.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/PATENTS.txt
11 <link rel=
"import" href=
"../polymer/polymer.html">
12 <link rel=
"import" href=
"neon-animation-behavior.html">
17 * Use `Polymer.NeonSharedElementAnimationBehavior` to implement shared element animations.
18 * @polymerBehavior Polymer.NeonSharedElementAnimationBehavior
20 Polymer
.NeonSharedElementAnimationBehaviorImpl
= {
25 * Cached copy of shared elements.
34 * Finds shared elements based on `config`.
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 undefined!');
44 if (!fromPage
.sharedElements
|| !toPage
.sharedElements
) {
45 console
.warn(this.is
+ ':', 'sharedElements are undefined for', !fromPage
.sharedElements
? fromPage
: toPage
);
49 var from = fromPage
.sharedElements
[config
.id
]
50 var to
= toPage
.sharedElements
[config
.id
];
53 console
.warn(this.is
+ ':', 'sharedElement with id', config
.id
, 'not found in', !from ? fromPage
: toPage
);
57 this.sharedElements
= {
61 return this.sharedElements
;
66 /** @polymerBehavior Polymer.NeonSharedElementAnimationBehavior */
67 Polymer
.NeonSharedElementAnimationBehavior
= [
68 Polymer
.NeonAnimationBehavior
,
69 Polymer
.NeonSharedElementAnimationBehaviorImpl