osd-reducer.js 1.46 KB
/*
 * ADOBE CONFIDENTIAL
 *
 * Copyright 2016 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.
 */

define('screens/player/ui/osd/osd-reducer', [], function() {
    'use strict';

    function osdReducer(osd, action) {
        switch (action.type) {
            case 'osd-show': {
                osd = _.merge({}, osd, {visible: 'show'});
                break;
            }
            case 'osd-hide': {
                osd = _.merge({}, osd, {visible: 'hide'});
                break;
            }
        }
        return osd || {};
    }

    return osdReducer;
});

/* istanbul ignore next */
require([
    'screens/player/ui/osd/osd-reducer',
    'screens/player/shared/serviceadmin',
    'screens/player/store/store'
], function(reducer, ServiceAdmin, Store) {
    'use strict';

    ServiceAdmin.onServiceHighestRankedStart(Store.serviceName, function(store) {
        store.addReducer(reducer, 'osd');
    });
});