| Index: bower_components/polymer-collapse/polymer-collapse.html
|
| diff --git a/bower_components/polymer-collapse/polymer-collapse.html b/bower_components/polymer-collapse/polymer-collapse.html
|
| deleted file mode 100644
|
| index 5600145563078b4abfaf86c6b46eb51d3a791467..0000000000000000000000000000000000000000
|
| --- a/bower_components/polymer-collapse/polymer-collapse.html
|
| +++ /dev/null
|
| @@ -1,239 +0,0 @@
|
| -<!--
|
| -Copyright 2013 The Polymer Authors. All rights reserved.
|
| -Use of this source code is governed by a BSD-style
|
| -license that can be found in the LICENSE file.
|
| --->
|
| -<!--
|
| -/**
|
| - * @module Polymer Elements
|
| - */
|
| -/**
|
| - * polymer-collapse is used to add collapsible behavior to the
|
| - * target element. It adjusts the height or width of the target element
|
| - * to make the element collapse and expand.
|
| - *
|
| - * Example:
|
| - *
|
| - * <button on-click="{{toggle}}">toggle collapse</button>
|
| - * <div id="demo">
|
| - * ...
|
| - * </div>
|
| - * <polymer-collapse id="collapse" targetId="demo"></polymer-collapse>
|
| - *
|
| - * ...
|
| - *
|
| - * toggle: function() {
|
| - * this.$.collapse.toggle();
|
| - * }
|
| - *
|
| - * @class polymer-collapse
|
| - */
|
| --->
|
| -<link rel="import" href="../polymer/polymer.html">
|
| -
|
| -<polymer-element name="polymer-collapse" attributes="targetId target horizontal closed duration fixedSize size">
|
| - <template>
|
| - <link rel="stylesheet" polymer-scope="controller" href="polymer-collapse.css">
|
| - <link rel="stylesheet" href="polymer-collapse.css">
|
| - <style>
|
| - :host {
|
| - display: none;
|
| - }
|
| - </style>
|
| - </template>
|
| - <script>
|
| - Polymer('polymer-collapse', {
|
| - /**
|
| - * The id of the target element.
|
| - *
|
| - * @attribute targetId
|
| - * @type string
|
| - * @default ''
|
| - */
|
| - targetId: '',
|
| - /**
|
| - * The target element.
|
| - *
|
| - * @attribute target
|
| - * @type object
|
| - * @default null
|
| - */
|
| - target: null,
|
| - /**
|
| - * If true, the orientation is horizontal; otherwise is vertical.
|
| - *
|
| - * @attribute horizontal
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - horizontal: false,
|
| - /**
|
| - * If true, the target element is hidden/collapsed.
|
| - *
|
| - * @attribute closed
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - closed: false,
|
| - /**
|
| - * Collapsing/expanding animation duration in second.
|
| - *
|
| - * @attribute duration
|
| - * @type number
|
| - * @default 0.33
|
| - */
|
| - duration: 0.33,
|
| - /**
|
| - * If true, the size of the target element is fixed and is set
|
| - * on the element. Otherwise it will try to
|
| - * use auto to determine the natural size to use
|
| - * for collapsing/expanding.
|
| - *
|
| - * @attribute fixedSize
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - fixedSize: false,
|
| - size: null,
|
| - attached: function() {
|
| - this.installControllerStyles();
|
| - this.async(function() {
|
| - this.afterInitialUpdate = true;
|
| - });
|
| - },
|
| - detached: function() {
|
| - if (this.target) {
|
| - this.removeListeners(this.target);
|
| - }
|
| - },
|
| - targetIdChanged: function() {
|
| - var p = this.parentNode;
|
| - while (p.parentNode) {
|
| - p = p.parentNode;
|
| - }
|
| - this.target = p.querySelector('#' + this.targetId);
|
| - },
|
| - targetChanged: function(old) {
|
| - if (old) {
|
| - this.removeListeners(old);
|
| - }
|
| - this.horizontalChanged();
|
| - this.isTargetReady = !!this.target;
|
| - if (this.target) {
|
| - this.target.style.overflow = 'hidden';
|
| - this.addListeners(this.target);
|
| - // set polymer-collapse-closed class initially to hide the target
|
| - this.toggleClosedClass(true);
|
| - }
|
| - // don't need to update if the size is already set and it's opened
|
| - if (!this.fixedSize || !this.closed) {
|
| - this.update();
|
| - }
|
| - },
|
| - addListeners: function(node) {
|
| - this.transitionEndListener = this.transitionEndListener ||
|
| - this.transitionEnd.bind(this);
|
| - node.addEventListener('webkitTransitionEnd', this.transitionEndListener);
|
| - node.addEventListener('transitionend', this.transitionEndListener);
|
| - },
|
| - removeListeners: function(node) {
|
| - node.removeEventListener('webkitTransitionEnd', this.transitionEndListener);
|
| - node.removeEventListener('transitionend', this.transitionEndListener);
|
| - },
|
| - horizontalChanged: function() {
|
| - this.dimension = this.horizontal ? 'width' : 'height';
|
| - },
|
| - closedChanged: function() {
|
| - this.update();
|
| - },
|
| - /**
|
| - * Toggle the closed state of the collapsible.
|
| - *
|
| - * @method toggle
|
| - */
|
| - toggle: function() {
|
| - this.closed = !this.closed;
|
| - },
|
| - setTransitionDuration: function(duration) {
|
| - var s = this.target.style;
|
| - s.webkitTransition = s.transition = duration ?
|
| - (this.dimension + ' ' + duration + 's') : null;
|
| - if (duration === 0) {
|
| - this.async('transitionEnd');
|
| - }
|
| - },
|
| - transitionEnd: function() {
|
| - if (!this.closed && !this.fixedSize) {
|
| - this.updateSize('auto', null);
|
| - }
|
| - this.setTransitionDuration(null);
|
| - this.toggleClosedClass(this.closed);
|
| - },
|
| - toggleClosedClass: function(add) {
|
| - this.hasClosedClass = add;
|
| - this.target.classList.toggle('polymer-collapse-closed', add);
|
| - },
|
| - updateSize: function(size, duration, forceEnd) {
|
| - if (duration) {
|
| - this.calcSize();
|
| - }
|
| - this.setTransitionDuration(duration);
|
| - var s = this.target.style;
|
| - var nochange = s[this.dimension] === size;
|
| - s[this.dimension] = size;
|
| - // transitonEnd will not be called if the size has not changed
|
| - if (forceEnd && nochange) {
|
| - this.transitionEnd();
|
| - }
|
| - },
|
| - update: function() {
|
| - if (!this.target) {
|
| - return;
|
| - }
|
| - if (!this.isTargetReady) {
|
| - this.targetChanged();
|
| - }
|
| - this.horizontalChanged();
|
| - this[this.closed ? 'hide' : 'show']();
|
| - },
|
| - calcSize: function() {
|
| - return this.target.getBoundingClientRect()[this.dimension] + 'px';
|
| - },
|
| - getComputedSize: function() {
|
| - return getComputedStyle(this.target)[this.dimension];
|
| - },
|
| - show: function() {
|
| - this.toggleClosedClass(false);
|
| - // for initial update, skip the expanding animation to optimize
|
| - // performance e.g. skip calcSize
|
| - if (!this.afterInitialUpdate) {
|
| - this.transitionEnd();
|
| - return;
|
| - }
|
| - if (!this.fixedSize) {
|
| - this.updateSize('auto', null);
|
| - var s = this.calcSize();
|
| - this.updateSize(0, null);
|
| - }
|
| - this.async(function() {
|
| - this.updateSize(this.size || s, this.duration, true);
|
| - });
|
| - },
|
| - hide: function() {
|
| - // don't need to do anything if it's already hidden
|
| - if (this.hasClosedClass && !this.fixedSize) {
|
| - return;
|
| - }
|
| - if (this.fixedSize) {
|
| - // save the size before hiding it
|
| - this.size = this.getComputedSize();
|
| - } else {
|
| - this.updateSize(this.calcSize(), null);
|
| - }
|
| - this.async(function() {
|
| - this.updateSize(0, this.duration);
|
| - });
|
| - }
|
| - });
|
| - </script>
|
| -</polymer-element>
|
|
|