Sha256: 6e0c274a0eccdd5a7a03becb17486399e57de0b3abf50ba2259675dbb19c1c1b

Contents?: true

Size: 1.52 KB

Versions: 3

Compression:

Stored size: 1.52 KB

Contents

/**
 * @namespace WORKAREA.mediaModes
 */
WORKAREA.registerModule('mediaModes', (function () {
    'use strict';

    var activateOptionGroup = function($group) {
            $group.removeClass('hidden');
        },

        deactivateOptionGroup = function ($group) {
            $group.addClass('hidden');
        },

        triggerMediaModeChange = function ($optionGroups, mode) {
            $optionGroups.each(function(index, option) {
                var $option = $(option);

                if ($option.data('mediaMode').includes(mode)) {
                    activateOptionGroup($option);
                } else {
                    deactivateOptionGroup($option);
                }
            });
        },

        setInitialState = function($optionGroups, $control) {
            var selectedOption = $control.val();
            triggerMediaModeChange($optionGroups, selectedOption);
        },

        /**
         * @method
         * @name init
         * @memberof WORKAREA.mediaModes
         */
        init = function ($scope) {
            var $control = $('[data-media-mode="control"]', $scope),
                $optionGroups = $('[data-media-mode]', $scope).not($control);

            if (_.isEmpty($control) ||
                _.isEmpty($optionGroups)) { return; }

            setInitialState($optionGroups, $control);

            $control.on('change', function(event) {
                triggerMediaModeChange($optionGroups, $(event.currentTarget).val());
            });
        };

    return {
        init: init
    };
}()));

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
workarea-super_hero-2.3.0 app/assets/javascripts/workarea/admin/super_hero/modules/media_modes.js
workarea-super_hero-2.2.2 app/assets/javascripts/workarea/admin/super_hero/modules/media_modes.js
workarea-super_hero-2.2.1 app/assets/javascripts/workarea/admin/super_hero/modules/media_modes.js