aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/ui/animatedzippy.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/ui/animatedzippy.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/ui/animatedzippy.js195
1 files changed, 0 insertions, 195 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/ui/animatedzippy.js b/contexts/data/lib/closure-library/closure/goog/ui/animatedzippy.js
deleted file mode 100644
index 851a3c8..0000000
--- a/contexts/data/lib/closure-library/closure/goog/ui/animatedzippy.js
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2006 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @fileoverview Animated zippy widget implementation.
- *
- * @author eae@google.com (Emil A Eklund)
- * @see ../demos/zippy.html
- */
-
-goog.provide('goog.ui.AnimatedZippy');
-
-goog.require('goog.dom');
-goog.require('goog.events');
-goog.require('goog.fx.Animation');
-goog.require('goog.fx.Animation.EventType');
-goog.require('goog.fx.Transition.EventType');
-goog.require('goog.fx.easing');
-goog.require('goog.ui.Zippy');
-goog.require('goog.ui.ZippyEvent');
-
-
-
-/**
- * Zippy widget. Expandable/collapsible container, clicking the header toggles
- * the visibility of the content.
- *
- * @param {Element|string|null} header Header element, either element
- * reference, string id or null if no header exists.
- * @param {Element|string} content Content element, either element reference or
- * string id.
- * @param {boolean=} opt_expanded Initial expanded/visibility state. Defaults to
- * false.
- * @constructor
- * @extends {goog.ui.Zippy}
- */
-goog.ui.AnimatedZippy = function(header, content, opt_expanded) {
- // Create wrapper element and move content into it.
- var elWrapper = goog.dom.createDom('div', {'style': 'overflow:hidden'});
- var elContent = goog.dom.getElement(content);
- elContent.parentNode.replaceChild(elWrapper, elContent);
- elWrapper.appendChild(elContent);
-
- /**
- * Content wrapper, used for animation.
- * @type {Element}
- * @private
- */
- this.elWrapper_ = elWrapper;
-
- /**
- * Reference to animation or null if animation is not active.
- * @type {goog.fx.Animation}
- * @private
- */
- this.anim_ = null;
-
- // Call constructor of super class.
- goog.ui.Zippy.call(this, header, elContent, opt_expanded);
-
- // Set initial state.
- // NOTE: Set the class names as well otherwise animated zippys
- // start with empty class names.
- var expanded = this.isExpanded();
- this.elWrapper_.style.display = expanded ? '' : 'none';
- this.updateHeaderClassName(expanded);
-};
-goog.inherits(goog.ui.AnimatedZippy, goog.ui.Zippy);
-
-
-/**
- * Duration of expand/collapse animation, in milliseconds.
- * @type {number}
- */
-goog.ui.AnimatedZippy.prototype.animationDuration = 500;
-
-
-/**
- * Acceleration function for expand/collapse animation.
- * @type {!Function}
- */
-goog.ui.AnimatedZippy.prototype.animationAcceleration = goog.fx.easing.easeOut;
-
-
-/**
- * @return {boolean} Whether the zippy is in the process of being expanded or
- * collapsed.
- */
-goog.ui.AnimatedZippy.prototype.isBusy = function() {
- return this.anim_ != null;
-};
-
-
-/**
- * Sets expanded state.
- *
- * @param {boolean} expanded Expanded/visibility state.
- * @override
- */
-goog.ui.AnimatedZippy.prototype.setExpanded = function(expanded) {
- if (this.isExpanded() == expanded && !this.anim_) {
- return;
- }
-
- // Reset display property of wrapper to allow content element to be
- // measured.
- if (this.elWrapper_.style.display == 'none') {
- this.elWrapper_.style.display = '';
- }
-
- // Measure content element.
- var h = this.getContentElement().offsetHeight;
-
- // Stop active animation (if any) and determine starting height.
- var startH = 0;
- if (this.anim_) {
- goog.events.removeAll(this.anim_);
- this.anim_.stop(false);
-
- var marginTop = parseInt(this.getContentElement().style.marginTop, 10);
- startH = h - Math.abs(marginTop);
- } else {
- startH = expanded ? 0 : h;
- }
-
- // Updates header class name after the animation has been stopped.
- this.updateHeaderClassName(expanded);
-
- // Set up expand/collapse animation.
- this.anim_ = new goog.fx.Animation([0, startH],
- [0, expanded ? h : 0],
- this.animationDuration,
- this.animationAcceleration);
-
- var events = [goog.fx.Transition.EventType.BEGIN,
- goog.fx.Animation.EventType.ANIMATE,
- goog.fx.Transition.EventType.END];
- goog.events.listen(this.anim_, events, this.onAnimate_, false, this);
- goog.events.listen(this.anim_,
- goog.fx.Transition.EventType.END,
- goog.bind(this.onAnimationCompleted_, this, expanded));
-
- // Start animation.
- this.anim_.play(false);
-};
-
-
-/**
- * Called during animation
- *
- * @param {goog.events.Event} e The event.
- * @private
- */
-goog.ui.AnimatedZippy.prototype.onAnimate_ = function(e) {
- var contentElement = this.getContentElement();
- var h = contentElement.offsetHeight;
- contentElement.style.marginTop = (e.y - h) + 'px';
-};
-
-
-/**
- * Called once the expand/collapse animation has completed.
- *
- * @param {boolean} expanded Expanded/visibility state.
- * @private
- */
-goog.ui.AnimatedZippy.prototype.onAnimationCompleted_ = function(expanded) {
- // Fix wrong end position if the content has changed during the animation.
- if (expanded) {
- this.getContentElement().style.marginTop = '0';
- }
-
- goog.events.removeAll(this.anim_);
- this.setExpandedInternal(expanded);
- this.anim_ = null;
-
- if (!expanded) {
- this.elWrapper_.style.display = 'none';
- }
-
- // Fire toggle event.
- this.dispatchEvent(new goog.ui.ZippyEvent(goog.ui.Zippy.Events.TOGGLE,
- this, expanded));
-};