| Index: third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html
|
| diff --git a/third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html b/third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html
|
| deleted file mode 100644
|
| index 43309b7a9e8f4bdb7ae9e8f1fcc63b187f0a5c63..0000000000000000000000000000000000000000
|
| --- a/third_party/polymer/v1_0/components/neon-animation/neon-animated-pages.html
|
| +++ /dev/null
|
| @@ -1,223 +0,0 @@
|
| -<!--
|
| -Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
| -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
| -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
| -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
| -Code distributed by Google as part of the polymer project is also
|
| -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
| --->
|
| -<link rel="import" href="../polymer/polymer.html">
|
| -<link rel="import" href="../iron-resizable-behavior/iron-resizable-behavior.html">
|
| -<link rel="import" href="../iron-selector/iron-selectable.html">
|
| -<link rel="import" href="neon-animation-runner-behavior.html">
|
| -<link rel="import" href="animations/opaque-animation.html">
|
| -
|
| -<!--
|
| -`neon-animated-pages` manages a set of pages and runs an animation when switching between them. Its
|
| -children pages should implement `Polymer.NeonAnimatableBehavior` and define `entry` and `exit`
|
| -animations to be run when switching to or switching out of the page.
|
| -
|
| -@group Neon Elements
|
| -@element neon-animated-pages
|
| -@demo demo/index.html
|
| --->
|
| -
|
| -<dom-module id="neon-animated-pages">
|
| -
|
| - <style>
|
| -
|
| - :host {
|
| - display: block;
|
| - position: relative;
|
| - }
|
| -
|
| - :host > ::content > * {
|
| - position: absolute;
|
| - top: 0;
|
| - left: 0;
|
| - bottom: 0;
|
| - right: 0;
|
| - height: 100%;
|
| - }
|
| -
|
| - :host > ::content > :not(.iron-selected):not(.neon-animating) {
|
| - display: none !important;
|
| - }
|
| -
|
| - :host > ::content > .neon-animating {
|
| - pointer-events: none;
|
| - }
|
| -
|
| - </style>
|
| -
|
| - <template>
|
| - <content id="content"></content>
|
| - </template>
|
| -
|
| -</dom-module>
|
| -
|
| -<script>
|
| -(function() {
|
| -
|
| - Polymer({
|
| -
|
| - is: 'neon-animated-pages',
|
| -
|
| - behaviors: [
|
| - Polymer.IronResizableBehavior,
|
| - Polymer.IronSelectableBehavior,
|
| - Polymer.NeonAnimationRunnerBehavior
|
| - ],
|
| -
|
| - properties: {
|
| -
|
| - activateEvent: {
|
| - type: String,
|
| - value: ''
|
| - },
|
| -
|
| - // if true, the initial page selection will also be animated according to its animation config.
|
| - animateInitialSelection: {
|
| - type: Boolean,
|
| - value: false
|
| - }
|
| -
|
| - },
|
| -
|
| - observers: [
|
| - '_selectedChanged(selected)'
|
| - ],
|
| -
|
| - listeners: {
|
| - 'neon-animation-finish': '_onNeonAnimationFinish'
|
| - },
|
| -
|
| - _selectedChanged: function(selected) {
|
| -
|
| - var selectedPage = this.selectedItem;
|
| - var oldPage = this._valueToItem(this._prevSelected) || false;
|
| - this._prevSelected = selected;
|
| -
|
| - // on initial load and if animateInitialSelection is negated, simply display selectedPage.
|
| - if (!oldPage && !this.animateInitialSelection) {
|
| - this._completeSelectedChanged();
|
| - return;
|
| - }
|
| -
|
| - // insert safari fix.
|
| - this.animationConfig = [{
|
| - name: 'opaque-animation',
|
| - node: selectedPage
|
| - }];
|
| -
|
| - // configure selectedPage animations.
|
| - if (this.entryAnimation) {
|
| - this.animationConfig.push({
|
| - name: this.entryAnimation,
|
| - node: selectedPage
|
| - });
|
| - } else {
|
| - if (selectedPage.getAnimationConfig) {
|
| - this.animationConfig.push({
|
| - animatable: selectedPage,
|
| - type: 'entry'
|
| - });
|
| - }
|
| - }
|
| -
|
| - // configure oldPage animations iff exists.
|
| - if (oldPage) {
|
| -
|
| - // cancel the currently running animation if one is ongoing.
|
| - if (oldPage.classList.contains('neon-animating')) {
|
| - this._squelchNextFinishEvent = true;
|
| - this.cancelAnimation();
|
| - this._completeSelectedChanged();
|
| - }
|
| -
|
| - // configure the animation.
|
| - if (this.exitAnimation) {
|
| - this.animationConfig.push({
|
| - name: this.exitAnimation,
|
| - node: oldPage
|
| - });
|
| - } else {
|
| - if (oldPage.getAnimationConfig) {
|
| - this.animationConfig.push({
|
| - animatable: oldPage,
|
| - type: 'exit'
|
| - });
|
| - }
|
| - }
|
| -
|
| - // display the oldPage during the transition.
|
| - oldPage.classList.add('neon-animating');
|
| - }
|
| -
|
| - // display the selectedPage during the transition.
|
| - selectedPage.classList.add('neon-animating');
|
| -
|
| - // actually run the animations.
|
| - if (this.animationConfig.length > 1) {
|
| -
|
| - // on first load, ensure we run animations only after element is attached.
|
| - if (!this.isAttached) {
|
| - this.async(function () {
|
| - this.playAnimation(undefined, {
|
| - fromPage: null,
|
| - toPage: selectedPage
|
| - });
|
| - });
|
| -
|
| - } else {
|
| - this.playAnimation(undefined, {
|
| - fromPage: oldPage,
|
| - toPage: selectedPage
|
| - });
|
| - }
|
| -
|
| - } else {
|
| - this._completeSelectedChanged(oldPage, selectedPage);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @param {Object=} oldPage
|
| - * @param {Object=} selectedPage
|
| - */
|
| - _completeSelectedChanged: function(oldPage, selectedPage) {
|
| - if (selectedPage) {
|
| - selectedPage.classList.remove('neon-animating');
|
| - }
|
| - if (oldPage) {
|
| - oldPage.classList.remove('neon-animating');
|
| - }
|
| - if (!selectedPage || !oldPage) {
|
| - var nodes = Polymer.dom(this.$.content).getDistributedNodes();
|
| - for (var node, index = 0; node = nodes[index]; index++) {
|
| - node.classList && node.classList.remove('neon-animating');
|
| - }
|
| - }
|
| - this.async(this._notifyPageResize);
|
| - },
|
| -
|
| - _onNeonAnimationFinish: function(event) {
|
| - if (this._squelchNextFinishEvent) {
|
| - this._squelchNextFinishEvent = false;
|
| - return;
|
| - }
|
| - this._completeSelectedChanged(event.detail.fromPage, event.detail.toPage);
|
| - },
|
| -
|
| - _notifyPageResize: function() {
|
| - var selectedPage = this.selectedItem;
|
| - this.resizerShouldNotify = function(element) {
|
| - return element == selectedPage;
|
| - }
|
| - this.notifyResize();
|
| - }
|
| -
|
| - })
|
| -
|
| -})();
|
| -</script>
|
|
|