transition-normal.js 1.81 KB
/*
 * ADOBE CONFIDENTIAL
 *
 * Copyright 2015 Adobe Systems Incorporated
 * All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and may be covered by U.S. and Foreign Patents,
 * patents in process, and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 */
(function($, player) {
    'use strict';

    /**
     * A simple show/hide transition with no animation.
     *
     * @param  {Strategy} strategy The strategy that handles the items
     *
     * @return {Transition} The current transition
     */
    var NormalTransition = function(strategy) {
        this.strategy = strategy;
        this.strategy.items().hide();
        return this;
    };

    /**
     * Apply the transition on the specified sequence elements.
     *
     * @param  {jQuery}   [$oldItem]    The previous item to transition out
     * @param  {jQuery}   $newItem      The next item to transition in
     * @param  {Function} next          The callback function to call after the transition
     */
    NormalTransition.prototype.execute = function($oldItem, $newItem, next) {
        var showFnc = function() {
            $newItem.show(0, next);
        };
        $oldItem && $oldItem.hide(0, showFnc) || showFnc();
    };

    /**
     * Destroy the transition.
     */
    NormalTransition.prototype.destroy = function() {
        this.strategy = null;
    };

    player.transitions.normal = NormalTransition;

}(window.jQuery, window.ScreensPlayer));